Per the spec:
 The authorization server MAY issue a new refresh token, in which case
   the client MUST discard the old refresh token and replace it with the
   new refresh token.  The authorization server MAY revoke the old
   refresh token after issuing a new refresh token to the client.  If a
   new refresh token is issued, the refresh token scope MUST be
   identical to that of the refresh token included by the client in the
   request.

This commit allows users to specifiy the time before the Refresh Token
expire time to issue a new Refresh Token.

alter method names, naming convention(?)
Merge branch 'master' of https://github.com/Symplicity/oauth2-server into Symplicity-master
Fix docblocks + method name
Merge branch 'Symplicity-master' into release/4.1.0
Version bump
Add new Implicit Grant type