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/data.cpp b/src/data.cpp
index e982700..9a59089 100644
--- a/src/data.cpp
+++ b/src/data.cpp
@@ -84,12 +84,10 @@
 }
 
 template size_t
-Data::wireEncode<encoding::EncoderTag>(EncodingImpl<encoding::EncoderTag>& encoder,
-                                       bool wantUnsignedPortionOnly) const;
+Data::wireEncode<encoding::EncoderTag>(EncodingBuffer&, bool) const;
 
 template size_t
-Data::wireEncode<encoding::EstimatorTag>(EncodingImpl<encoding::EstimatorTag>& encoder,
-                                         bool wantUnsignedPortionOnly) const;
+Data::wireEncode<encoding::EstimatorTag>(EncodingEstimator&, bool) const;
 
 const Block&
 Data::wireEncode(EncodingBuffer& encoder, const Block& signatureValue) const