Generalized some of the functions into YesodClient
implemented a YesodClientMonadT in which we do all the client computations
updated the Sync client implementation to use the new client stuff, furthermore
moved stuff from Main into its own module: Sync
added the failure package to the cabal file