enable namespaces for transmittable keys

all codec registrations now take place inside a namespace decleration,
this should make it much easier for users of transmittable to manage
typeKeys especially when combining with third party libraries that also
register transmittable types. Additionally this checkin sees a good
expansion to unit test coverage.