#3 and #4 create map and inferable mapping methods for public usage

Hmm, I think there should have been one :smile:  (this is a while ago).

In `MapperCreationProcessor`:
` private final List<MappingMethod> mappingsToGenerate = new ArrayList<MappingMethod>();` should have been a set. Mappings that are already created and added to the set, should not be added again on the problem of generating methods with the same signature twice. I'll fix that and see if I can add a test case as well.