Fixed checking of type for created destination object
Rename method
Removed outdated @TODO
Added trait to get FQCN via static method ::className()
Removed redundant TypeMapInterface
Fixed incorrect computing of hash for array of typemaps
Changed interface of mapping to fluent syntax
Added the ability to map from exists destination object