Added default Signatures using Generics

Followup to the old email I sent.

Now Default instances can be created like Aeson instances
    
    $ ghci -XDeriveGeneric Data/Default.hs  
    >>> import GHC.Generics
    >>> data Foo = Bar | Baz | Quux deriving(Show, Generic)
    >>> instance Default Foo
    >>> def :: Foo
    Bar
    
If you are worried about backward compatibility pre 7.4 I can add the #defines and cabal flags necessary for conditional builds. 

Best,
Jonathan