Fix bearer token transfer issue.

See alphagov/signonotron2#245 for more details.

This change includes a refactor of the bearer token strategy to use [warden-oauth2](https://github.com/opperator/warden-oauth2).
Shoulda uses this gem: https://github.com/thoughtbot/appraisal