Refresh tokens have twice the expiration time as bearer tokens.
Redeeming a refresh token obtains a new refresh token and invalidates the previous refresh token.
Add refresh_expiration_multiplier and reissue_refresh_tokens options

These options affect how the refresh token grant operates.
Refresh expiration multiplier will set the expiration
 of the refresh token in units of the access_token expiration time.
For example refresh_expiration_multiplier=2 with expires_in=60
 will have refresh tokens be valid for two minutes,
 with the access_tokens being valid for one minute.

Reissue refresh token will cause a new refresh token to be issued along with
 new access_token, and the old refresh token invalidated, when a refresh token
 is redeemed.

These are optional behaviours and are disabled by default. To enable them:
    oauth_app.add_grant(oauth2.grant.RefreshToken(expires_in=60,       \
                                       refresh_expiration_multiplier=2,\
                                       reissue_refresh_tokens=True))
Fix travis-ci build errors
Testing: Add expires_in parameter to TokenGenerator Mock()
Add per-grant-type token expiration durations
Modify tests and plumbing
Add test for refresh token reissue case.
Memcache store uses correct lookup key, and deletes access token on refresh reissue
Removed two debug statements
Merge 'master' into jswitzer-master
Fixed one test using old params of a class