Fix building with aeson >= 0.6.2.0

deriveJSON now takes an Option record instead of a single function. It might be
nicer to define a function that takes the fieldLabelModifier function rather
than doing it inline everywhere but I didn't know where a good place to put that
would be.
Fix building with hashable >= 1.2

hashWithSalt is now the minimal implementation
Merge pull request #2 from DanielG/master

Fix building with aeson >= 0.6.2.0