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.