add codec3 dependency, value map impls, sort flag

the codec3 dependency is a little heavy for what is actually used.
but with the down stream move to wards dependency management use in
poms, it is less annoying to maintain, and there are some other
uses that will be easier with codec already included (like pojo-
backed bundles). Alternative would be to just use a standard system
property, but i'd like to avoid adding more of those. If the other
codec usages never materialize, or if it is more annoying than
expected, we can revisit.

DefaultMap is renamed to HashValueMap, and has additional public
constructors matching its super class. A similar TreeValueMap and
DelegatingValueMap have also been added.

ValueFactory has a config prop for using TreeValueMaps be default
instead of HashValueMaps. This is primarily to aid in (downstream)
tests that struggle to impose their own ordering controls for test
consistency.