Integration with github.com/golang/oauth2

Fixes #23. 

* I'm not sure if people should pass `*golang/oauth2.Options`  or `*martini-contrib/oauth2.Options`. That's why I removed the `Options` type from here since it has nothing more than `golang/oauth2` one and we're copying fields one by one (which might be prone to errors in the future). `AuthUrl` and `TokenUrl` was not the right place for this type anyway.

* Another problem might be the marshaled `token` types are not exactly the same in [the old lib](https://code.google.com/p/goauth2/source/browse/oauth/oauth.go#140) and [the new lib](https://github.com/golang/oauth2/blob/7935ece62b5df7d253af014bd27b272c4ba62587/transport.go#L20-L36). So that might give some trouble to the apps updating it.

* Breaking changes
  * requires package: `github.com/golang/oauth2`
  * no longer requires package: `code.google.com/p/goauth2/oauth`
  * caller code should use `Options` type from not this `oauth2` but golang's `oauth2` (not sure if it was the right choice)
turns out this is used to comply with `Tokens` interface above which is injected to Martini handler functions as parameters. So `type token` is actually used to wrap fields with getters.