FacebookT monad transformer

FacebookT auth m a is this library's monad transformer.
Contains information needed to issue commands and queries to
Facebook. The phantom type auth may be either Auth (you
have supplied your Credentials) or NoAuth (you have not
supplied any Credentials).

True if the access token is valid. An expired access
token is not valid (see hasExpired). However, a non-expired
access token may not be valid as well. For example, in the
case of an user access token, they may have changed their
password, logged out from Facebook or blocked your app.

The first step to get an user access token. Returns the
Facebook URL you should redirect you user to. Facebook will
authenticate the user, authorize your app and then redirect
the user back into the provider RedirectUrl.

The second step to get an user access token. If the user is
successfully authenticate and they authorize your application,
then they'll be redirected back to the RedirectUrl you've
passed to getUserAccessTokenStep1. You should take the
request query parameters passed to your RedirectUrl and give
to this function that will complete the user authentication
flow and give you an AccessTokenUser.

Extend the expiration time of an user access token (see
https://developers.facebook.com/docs/offline-access-deprecation/).
Returns Left exc if there is an error while extending, or
Right token with the new user access token (which could have
the same data and expiration time as before, but you can't
assume this). Note that expired access tokens can't be
extended, only valid tokens.