build+src: mark destructor virtual in classes with virtual functions

And to prevent similar mistakes in the future, add -Wnon-virtual-dtor
to the default build flags.

Change-Id: I28e2361341abab29fca134309288cd259736d67a
diff --git a/src/mgmt/nfd/status-dataset.hpp b/src/mgmt/nfd/status-dataset.hpp
index 09c1e14..e3cc264 100644
--- a/src/mgmt/nfd/status-dataset.hpp
+++ b/src/mgmt/nfd/status-dataset.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2013-2016 Regents of the University of California.
+ * Copyright (c) 2013-2017 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -42,6 +42,9 @@
 class StatusDataset : noncopyable
 {
 public:
+  virtual
+  ~StatusDataset();
+
 #ifdef DOXYGEN
   /**
    * \brief if defined, specifies constructor argument type;