Add support for OAuth2 refresh tokens

According to the [OAuth standard](http://tools.ietf.org/html/draft-ietf-oauth-v2-10#section-4.2),
the Access Token response contains the following fields:

* access_token [REQUIRED]. The access token issued by the authorization server.
* expires_in [OPTIONAL]. The duration in seconds of the access token lifetime.
* refresh_token [OPTIONAL]. The refresh token used to obtain new access tokens.

Note that the `refresh_token` is only returned the first time the user grants access.

This commit adds the `refresh_token` and `expires_in` fields to the `OAuthToken`
class and defines a new method on the `GenericOAuth2ResourceOwner` called
`refreshAccessToken` that takes the `refresh_token` as parameter and returns
a new `access_token` along with it's `expires_in` value.

Additionally, a new `access_type` configuration option is defined. This option is
passed to the `getAuthorizationUrl` call by the `GoogleResourceOwner` to demand for
offline access. For more information see [Google's OAUth documentation](https://developers.google.com/accounts/docs/OAuth2WebServer#offline).

Note that since `access_type` is not standard OAuth2, it's not
set by the `GenericOAuth2ResourceOwner` but by `GoogleResourceOwner`. In the future,
other resource owners may pass this option too if need be. Setting
`access_type=offline` for a `google` resource will return a `refresh_token` along
with the `access_token`.
Improve PHPDoc and add BC break to CHANGELOG.md
Use setters for refreshToken and expiresIn in OAuthToken
Remove PHPUnit 3.7 check from tests
Improve code
Rename doGetAccessTokenRequest to doGetTokenRequest so that it can be used to retrieve the refresh token
Cleanup code to use latest features, and some shortcuts
Use more proper exceptions in ConnectController actions + some phpdoc cleanup
Adapt CHANGELOG file to cleaner format
Merge pull request #274 from stloyd/bugfix/connect_controller

Use more proper exceptions in ConnectController actions + some phpdoc cleanup
Various cs fixes
Merge pull request #276 from XWB/cs-fixes-0.2

Various cs fixes
Merge pull request #258 from stloyd/feature/refresh_token

Add support for OAuth2 refresh tokens
`use` cleanups + various phpdocs fixes
Merge pull request #277 from stloyd/bugfix/phpdocs_uses

`use` cleanups + various phpdocs fixes
google resource owner options added
request_visible_actions and approval_prompt support
do not check request_visible_options for null
Merge pull request #279 from mente/request-visible-actions

google resource owner options added
Fix typos in GoogleResourceOwner
Fix tests after last merge