#252 merging reverse mapping with forward mapping.

There is also an error in the `Mapper#reverse` method class.  The check on constant / expression has been fixed.

Also, the order of forward / reverse method is not relevant (as thought before). This is been assured by adding some tests.
There's ambiguity in our test cases already. I've checked how this reverse mappings now works. And I find strange, but explainable behavior.

I fixed this, but I wonder if tests worked the way they were intended. E.g. in the JodaTime testing I find:
```java
    @Mappings({
        @Mapping(source = "dateTime", dateFormat = DATE_TIME_FORMAT),
        @Mapping(source = "localDateTime", dateFormat = LOCAL_DATE_TIME_FORMAT),
        @Mapping(source = "localDate", dateFormat = LOCAL_DATE_FORMAT),
        @Mapping(source = "localTime", dateFormat = LOCAL_TIME_FORMAT)
    })
    Target sourceToTarget(Source source);

    @ReverseMappingMethod(configuredBy = "targetToSource") // TODO: FIXME
    Target sourceToTargetDefaultMapping(Source source);
...

    @ReverseMappingMethod(configuredBy = "sourceToTarget") // TODO: FIXME
    Source targetToSourceDefaultMapping(Target target);
```
I don't think this is the intention. I assume that the default mapping should be without annotation right? But if I do that, the tests stop working.