Add JSONValue.integer

It’s very convenient when the value stored is actually always integer.
Although Double is not strictly wider that Int, in practice integers
greater than 10^14 are rarely used. That’s why the conversion is
legitimate.