Add BigDecimal and "lazy" Decimal JsonNumbers.

This also switches the parser to just use the new JsonNumber.fromString
method to obtain a JsonNumber. This method will return either a JsonLong
if the value is a long or a JsonLazyDecimal otherwise.
Add JsonNumber.fromString specs.
Add some docs for JsonDecimal.
Fix parser test to match new class of valid numbers.
Allow semantic equality checks on JsonDecimals.

This adds a `normalized` method to JsonDecimal which allows us to
compare JsonDecimals for *numeric* equality, even though we cannot
represent them as BigDecimal, in general.
Implement a proper equals on JsonNumber.

This is required to get the tests passing again.
Ensure numeric equality is preserved in JsonNumber.
Fix formatting in JsonNumberSpecification.
Add BigInt and BigDecimal encoders/decoders.
Better jNumber and friends impl for Strings.
Merge pull request #1 from tixxit/topic/jnumber

Support all valid JSON numbers