157 Adding type conversions to 2 step mapping capabillity

This PR finishes the work on 2 step (nested) mappings. It also introduces some major refactoring of the method resolving process. 

The introduction of typeConversion also lead to the  need for generating exceptions around a ```MethodReference``` so a new ```ModelElement```: ```TargetAssignment``` was introduced, which can be a: direct assignment, ```MethodReference``` or ```TypeConversion```.

The introduction of this ```TargetAssignment``` simplified the free marker templates for ```PropertyMappingMapping```, ```MapMappingMethod``` and ```IterableMappingMethod``` considerably.

Last but not least,  ```TypeConversion``` needed to be broken up in order to accommodate  ```MethodReference``` as arguments.