#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.
Default qualifiers is a very good point, but I'd rather handle it via a dedicated annotation which can be given on the method, mapper or even package level: `@DefaultQualifiers(LongDates.class, OtherQualifier.class)`.

The reason I'm skeptical about `@MappingMethod` is the asymmetry it creates; It's name suggests its to _tag_ all methods which are mapping methods whereas actually its purpose is to _configure_ some mapping methods. Normally, mapping methods don't have to be tagged (or marked) as such as each method on a mapper interface is a mapping method by default.

E.g. comparing the following:

    @Mapper
    public interface OrderMapper {

        OrderDto orderToDto(Order order);

        // reverse mapping method
        @MappingMethod(configuredBy="orderToDto")
        Order orderDtoToOrder(OrderDto orderDto);

        @MappingMethod(defaultQualifiers=LongDates.class)
        OrderLineDto orderLineToDto(OrderLine orderLine);
    }

to this:

    @Mapper
    public interface OrderMapper {

        OrderDto orderToDto(Order order);

        // reverse mapping method
        @ReverseMappingMethod(configuredBy="orderToDto")
        Order orderDtoToOrder(OrderDto orderDto);

        @DefaultQualifiers(LongDates.class)
        OrderLineDto orderLineToDto(OrderLine orderLine);
    }

The latter seems easier to grasp to me, all the methods are mapping methods, one is reverse mapping method and for one default qualifiers apply. The first approach seems to mix two concerns to me, whereas the explicit annotations in the latter approach are more descriptive to me. I understand your point about auto-completion, but we're still talking about a hand-ful of annotations here which should not be so hard to find and understand. Plus, we should optimize for reading code than for writing if in doubt.