add ToBackendKey typeclass

This is needed to implement generic conversion functions
such as toSqlKey for SQL and keyToOid for MongoDB
So the IsSqlKey typeclass was removed,
but the functionality is still there
more explicit documentation for ToBackendKey
ghc 7.6 wants a language extension

perhaps 7.8 only requires it at the call site
no ToBackendKey instance for a (composite) Primary key
Merge pull request #307 from yesodweb/ToBackendKey

add ToBackendKey typeclass