Add -Wextra-semi -Wundefined-func-template to the default CXXFLAGS

And fix the resulting compilation errors.

Change-Id: I16f679836a0cf2a3ff5dfcf6f6b67bfbfe4cdbd7
Refs: #4248
diff --git a/src/name-component.cpp b/src/name-component.cpp
index 6bccced..1cdd8f9 100644
--- a/src/name-component.cpp
+++ b/src/name-component.cpp
@@ -444,7 +444,6 @@
   return encoder.block();
 }
 
-
 template<encoding::Tag TAG>
 size_t
 Component::wireEncode(EncodingImpl<TAG>& encoder) const
@@ -457,11 +456,7 @@
   return totalLength;
 }
 
-template size_t
-Component::wireEncode<encoding::EncoderTag>(EncodingImpl<encoding::EncoderTag>& encoder) const;
-
-template size_t
-Component::wireEncode<encoding::EstimatorTag>(EncodingImpl<encoding::EstimatorTag>& encoder) const;
+NDN_CXX_DEFINE_WIRE_ENCODE_INSTANTIATIONS(Component);
 
 const Block&
 Component::wireEncode() const