Add AssertError exception class and BATANG_ASSERT macro
to make asserts customizable.
Remove Batang::ValueWrapperNS namespace.

There is Batang::Detail namespace for hiding, and all ValueWrapper
features are in there.
Use Boost.Program_options instead of Batang::CommandLineParser (which
will be removed later.)
Use pass-by-value to be move-optimized (or for objects having
cheap copy cost).