map numeric values

translate bigdecimal from json to int/double as the elasric4s doesn't support nicely bigdecimal
in the second you don't need n.isWhole()