Adding functions to TH to make CamelCase to under_score easier.

I have noticed in multiple places around hackage that people add
these kinds of functions to get their JSON formatted keys (often
underscore_formatted_strings) out of Haskell's CamelCase data
properties (often withLongStringsOfCAPITALS).

I have also added to the .gitignore those files generated by the new
cabal 1.18 'sandbox' feature.

I have a few outstanding questions:

1) Should these functions live in another module with an isomorphic
inverse function, like `underscoreToCamel`? Like Aeson.Properties?
2) I am at something of a loss as to how to integrate testing into the
suite. I've tested the out at the REPL, but what steps should be
taken to integrate these into QuickCheck?
Per @basvandijk, I've moved all of the logic into a camelTo function.
Fixing a typo.
Adding tests for the camlCase operation.
Fix "incomplete input" from decodeStrictWith
Merge branch 'master' of https://github.com/bos/aeson

Conflicts:
	Data/Aeson/Types/Internal.hs
Added data instance to Value
Factor out Hashable instance for Value
Merge pull request #168 from mkscrg/decodeStrict-fix

Fix "incomplete input" from decodeStrictWith
Merge
Bump dependency on attoparsec
Merge pull request #169 from maxpow4h/master

Added data instance to Value
Merge pull request #155 from gabemc/master

Adding functions to TH to make CamelCase to under_score easier.
Remove deriving 'Data', as 'Scientific' is no instance of 'Data'.
Use fast 'encodeUtf8BuilderEscaped' if possible

- only use it when compiling against bytestring >= 0.10.4.0
- speed improvement over bytestring-via-text encoding:
    factor 1.5 - 1.6 for japanase and english JSON messages
    factor 2         for integer encoding

- equal speed for encoding floats
Fix JSON instance for UTCTime to yield a valid ISO8601 string

The value truncated to milliseconds by rounding down
Bump dependency on scientific
Merge pull request #172 from meiersi/feat-encode-via-bytestring-builder

Feat encode via bytestring builder
Merge
Restore deriving Data