management: ensure Element::Error inherits from tlv::Error

Add static asserts to ensure ndn::nfd::*::Error are subclasses of tlv::Error.

Add WireEncodable and WireDecodable concept checks to
ndn::nfd::* classes that represent TLV abstraction.

Move definition of ChannelStatus, FibEntry, ForwarderStatus,
StrategyChoice methods into .cpp.

Move declaration of FaceScope, FacePersistency, LinkType
into encoding/nfd-constants.hpp.

Eliminate duplicate RibFlags declaration.

refs #1983

Change-Id: I207bae479aa6da54a581a7cca5b2a13743827ff0
diff --git a/src/encoding/tlv-nfd.hpp b/src/encoding/tlv-nfd.hpp
index 91d7c11..c6c330b 100644
--- a/src/encoding/tlv-nfd.hpp
+++ b/src/encoding/tlv-nfd.hpp
@@ -22,7 +22,7 @@
 #ifndef NDN_ENCODING_TLV_NFD_HPP
 #define NDN_ENCODING_TLV_NFD_HPP
 
-#include "../common.hpp"
+#include "tlv.hpp"
 #include "nfd-constants.hpp"
 
 namespace ndn {