Fix whitespace and style
Fix linkage specification for identity key function (closes issue #42)
Introduce ContainerTraits2 to generalize container support

By introducing an additinal container traits that allows to explicitly
define how containers are obtained from raw pointers it becomes possible
to also use shared_ptr for types that are "instrumented" accordingly
(by allowing shared_from_this to be used).