Added JsonLong and JsonDouble cases for JsonNumber #116
Improved prettyprinting test
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.
Use descriptive names for JsonNumber conversions.
Fix handling of 0 in JsonDecimal.
Clean up of the JsonNumber type.

This adds more docs and descriptive names for numeric conversions to
JsonNumber. It also adds prisms for more numbers types.
Merge commit '1dfd69cc7120d79e429d3d508d51dcbb28c9a84c' into topic/jnumber-funk

Conflicts:
	.gitignore
	src/main/scala/argonaut/Json.scala
	src/test/scala/argonaut/PrettyParamsSpecification.scala
Merge pull request #147 from tixxit/topic/jnumber

Add support for arbitrary, valid decimal numbers