Show the file and line number of deprecation warnings

The warnings are coming from inside the codebase! :scream:
Fix deprecated current_user assignment in testing helper
Remove reference to `bundle --binstubs`

* This clobbers bin/rails and other Rails builtins
* We're no longer using `--binstubs` on Rails projects

https://github.com/thoughtbot/clearance/issues/387
Allow sign up to be disabled via configuration

There are many instances where you don't want users to be able to sign
up (e.g. admin-only system). Clearance can now disable sign up by
setting:

    Clearance.configure do |config|
      # other configuration options
      config.allow_sign_up = false
    end

in `config/initializers/clearance.rb`.
Always have a default configuration available

The previous implementation depended on `Clearance.configure` being
called in an initializer, otherwise `Clearance.configuration` would be
nil. This change makes Clearance work without having to call
`Clearance.configure` first. The initializer is now only needed if you
want to override a default.
Update copyright to 2014
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