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`.
Merge branch 'bt-pluggable-access_token'

Make it possible to plug in different token generation-backends

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 implementing the
oauth2_token_generation behavior exporting one function
generate/0.

Conflicts:
	src/oauth2.erl