Second part categorize

Second part of the work I've made on interval classifications. This one contains what I did to recognize and manage interval classification legends in the legend API. As for Recode, I've designed a Map that is based on maps. Each parameter of the symbol is put in a CategorizedLegend (which can be seen as a Map), and all these parmaeters are managed from an upper Map between the known thresholds and the upper map maps the thresholds with the resulting symbol configuration.

This PR comes after (and consequently contains) #433. However, I still have to make it agains master.Consequently, everything not related to the legend library can be considered included in #433 already and may rather be reviewed in #433.

This one is the same as #434, we did it again to improve the generated diff.