Custom Client model

Adds a setting `OAUTH2_CLIENT_MODEL` allowing the use of a custom client model instead of `oauth2app.models.Client`, for cases where the client might not be owned by a user, or where additional fields are required.

Since the Client is read-only during the auth flow, things like `redirect_uri`, `name`, etc can even be implemented as properties rather than fields.

Use via:

    OAUTH2_CLIENT_MODEL='myapp.MyClient'

The branch is based off the [Django 1.5 support branch](https://github.com/hiidef/oauth2app/pull/38), but doesn't require it.