Make Fay.Convert externally extensible, use SYB exclusively, and add error reporting
Support for aeson 0.7

The approach here is to simply reuse the existing aeson infrastructure for
parsing and rendering whereever possible, as that is more resilient to changes
in the core datatypes (in particular, the Scientific move).
Add parsing of 'Float' to Fay.Convert and to the test
Reorganize encodeFay to match the ordering of decodeFay
Remove Fay.Convert support for Rational