Add Ruby 2.1 and Rails 4.1 to test matrix

* Add Ruby 2.1 to travis configuration
* Update Rails 3.2 and 4.0 appraisals to latest versions
  * Add I18n.enforce_available_locales setting to test app to avoid
    deprecation warning.
* Add Rails 4.1.0.beta1 to appraisals
  * Test unit integration feature updated to account for differing test
    output under rails 4.1
* Update gems
Fix route constraint documentation.

Rails will complain if multiple routes are named the same. By using root
it was trying to create the root path multiple times. Also a route must
provide a controller and an action.
Named route should be a symbol
Remove SessionsController failure message override

Since the introduction of the `SignInGaurd` stack, this method was no
longer being called. I moved it's implementation into the failure
message used by the `DefaultSignInGuard`. Customizing the message is
done entirely via I18n.

Resolves #378
Get user_model id parameter from configuration

The password reset controller was previously assuming that the id
parameter would be available as 'user_id', but if you have customized
the user model this won't be the case. Get the proper name from the
configuration.

Supersedes #377
Handle edge cases in sign_in test helper

The sign_in helper requires FactoryGirl to create a user. FactoryGirl
isn't a dependency of the Gem and we wouldn't want it to be because we
don't want it loaded in production. Raise a more helpful error if
someone tries to use the `sign_in` test helper without having
FactoryGirl.

Additionally remove the hard-coded `:user` factory in favor of a factory
named for whatever the configred user model is.
Split out testing helper into two

* rspec helper `lib/clearance/rspec.rb`
* test-unit helper `lib/clearance/test_unit.rb`
* print out a deprecation warning when `clearance/testing` is required

Use Kernel.warn for deprecation message
Fix build failures on Rails 4.1.rc1

Rails 4.1 now includes jbuilder 2.0+ in its default gemfile. Move the
jbuilder 1.2 dependency from the clearance `gemfile` into the appraisals
for Rails < 4.1 and add jbuilder 2.0 to the Rails 4.1 appraisal. The
sdoc dependency was also moved into the appraisal definitions because
it is a dependency only because it is included in the rails default
gemfile. This leaves the gemfile for development dependencies only.

Renamed the `create_migration` method in the Clearance install generator
because it was [conflicting with a method][1] that was added into the
class hierarchy in Rails 4.1.

[1]: https://github.com/rails/rails/blob/master/railties/lib/rails/generators/migration.rb#L63
The bcrypt-ruby gem has been renamed to bcrypt

https://github.com/codahale/bcrypt-ruby/pull/86
Make travis retry on bundle install failure

Travis frequently has timeout problems when contacting rubygems. Travis
supplies the `travis_retry` command to help combat this. This will retry
the install up to 3 times.

This will not help when appraisal tries to install its missing
dependencies. Changes for that are probably best left to appraisal.
Remove sign up link from sign in flash error

There is a configuration option that allows for sign up to easily be
disabled. With this enabled, the `sign_up_path` route helper is not
defined. This causes a 500 when a user login fails because the default
I18n message uses `sign_up_path` for interpolation.

I opted to remove the interpolation, and thus the sign up link, from the
default sign in failure message. This is perhaps somewhat less helpful,
but it makes for a working out of the box experience for people who
disable sign up.

An alternative would be to add another flash message specifically for
this case and add conditionals to `DefaultSignInGuard` (or a helper
object) to handle it. I felt that the increased complexity of that
solution wasn't worth it.
Add test coverage for DefaultSignInGuard
Sort and format i18n yaml file

* remove unnecessary quoting
* apply consistent sorting of keys
Fix contributors link
Bump to 1.2.0
Update Hash Syntax

* Update to ruby 1.9+ hash syntax
Use available query string when redirecting

If the return_to url has a query string attached to it, we want to be
sure we are including it when clearance redirects.

URI::HTTP has the wonderful `request_uri` method that returns us the
path and query string together, but our session variable stores only
`fullpath` which URI parses as URI::Generic. That means we have to
assemble the path and query string ourselves.
Prepare version 1.2.1
Backfill remember_token for existing user records

The clearance migration to add clearance fields to an existing users
table now also ensures each user has a generated remember_token.