map numeric values

translate bigdecimal from json to int/double as the elasric4s doesn't support nicely bigdecimal
you can split this into two cases:
```scala
case (key, JsNumber(n)) if n.isWhole() => (key, n.intValue())
case (key, JsNumber(n)) => (key, n.doubleValue())
```
Maybe it's just me, but I find this more readable as it "flattens" the canonical branching.