Make token generation pluggable

This should fix issue #6 . To change how tokens are generated you can
specify in your app.config a module that should handle the token
generation. The config looks like:

    [
        {oauth2, [
            {token_generation, YOUR_TOKEN_GENERATOR}
        ]}
    ].

The default token generator is called `oauth2_token`. To implement your
own you should create your own module exporting one function
`generate/0`.