Add test for case where client error is raised as `invalid_credentials`.
Stop raising every client error as `invalid_credentials`.

When a user declines logging in with a certain provider, the `fail!`
method will be called with the argument `user_denied`, `access_denied`
or whatever error message the provider returns.

When a CSRF attack is detected, the `fail!` method will be called with
the argument `csrf_detected`.
Improve the CSRF exception message.
Add a .travis.yml file.  Add gems for Rubinius
Add Ruby 2.1.0
Move license into a separate file [ci skip]
Update authorship information [ci skip]
Move dependencies from gemspec to Gemfile (except for Bundler)
Update Travis configuration
Convert specs to RSpec expectation syntax

See http://myronmars.to/n/dev-blog/2012/06/rspecs-new-expectation-syntax
Enforce code coverage minimums
Add RuboCop
Fix RuboCop offenses
Add Coveralls for code coverage reporting
ADD ALL THE BADGES [CI SKIP]
FIX ALL THE BUILDS
Fix loading of version file from gemspec
Refactor and improve performance

Based on these benchmarks: http://stackoverflow.com/a/11456509/209190,
each is faster than inject and reads just as clearly, if not better.
Remove unused standard library require statements
Add platform guard for guard