Drop even more ByteString related instances

This follows up on 9ee73f303cacb8ae by removing some more ByteString
related instances as suggested by @basvandijk in #126.
Added FromJSON and ToJSON instances for Data.Tree.

The instances reuse the instance code for tuples.
Try to fix stupid clang cpp incompatibility (gh-154)

--HG--
extra : rebase_source : 4d92fc2b96527581ecba1a9d09e93a2c6ae31682
extra : amend_source : f2b002e759d692bc9bca962484123a7857ebbb02
Bump version to 0.6.2.1
Added tag 0.6.2.1 for changeset 52038e5c0ea3
Merge
Fix eitherDecode functions (gh-142)
Merge pull request #153 from danidiaz/master

Added FromJSON and ToJSON instances for Data.Tree.
Merge
Separate class definitions from instances

--HG--
rename : Data/Aeson/Types/Class.hs => Data/Aeson/Types/Instances.hs
Merge pull request #156 from basvandijk/scientific

Change Number to Scientific
Merge

--HG--
rename : Data/Aeson/Types/Class.hs => Data/Aeson/Types/Instances.hs
Drop upper bound on scientific
Encode RealFloat numbers using Scientific.fromFloatDigits

The previous code used realToFrac (fromRation . toRational) which
approximates a floating point value. For example:

 > toRational (1.2::Double)
 5404319552844595 % 4503599627370496

If you encode this Rational number to a Scientific number and render it
you get:

 > encode (1.2::Double)
 "1.1999999999999999555910790149937383830547332763671875"

Using Scientific.fromFloatDigits you get the expected:

 > encode (1.2::Double)
 "1.2"
Nicer ToJSON instance from Number and Integer
Depend on scientific >= 0.1
Bump dependency on scientific
Add ToJSON and FromJSON instances for Scientific
Merge pull request #162 from basvandijk/master

Encode RealFloat numbers using Scientific.fromFloatDigits
Fix module sorting