Features/use comparator

Hi, 

The comparaison between BigDecimal with the equals method is different of comparaison with compareTo method. The equals method compare the value and the scale. For example, with BigDecimal, 1 is not equal to 1.0. This problem must be resolve using the compareTo method.

In this pull request, we add configuration and annotation to specify if an object must be comparing with equals or with compareTo method. We update the code to use compareTo instead of equals for BigDecimal.

Jean-Eudes