squash issue 81 after rebase to issue 112
#81 making use of template FactoryMethod.ftl
#81 integrating #112 in the factory solution
#81, remove isHasFactoryMethod construction in the Freemarker template in favour for the '??'
#81, refactoring MappingMethodReference to MethodReference to accomodate for factory usage of this method
#81, removing FactoryMethod in favour of MethodReference
#81, removing empty lines after factory method from code generation
#81 adding unit test for ambiguous factory error
#81 adding implementation for Map and Iterable types, and adding unit test. NOTE a TODO is still in MapperCreationProcessor
#81 re-introducing the check on if a generated method returns an interface type, now narrowed to absence of factory methods.
#81 Formatting