Join annotation data in single type class
Added JSON#strict feature
Renamed to deep()
Allow transient flag to be serialized if required so
use system identity for cyclic dep. check
Added many tests (2 are still falling)
Added matcher methods so they can be reused
Added missing type matching for map serialization, add map keys to current path
fixed circ. dep. checking