Split Clearance::{Authentication,Authorization}

There has been confusion about the `authorize` method residing in the
`Authentication` module:

* The `authorize` method performs authorization - it denies access to
  unauthenticated users.
* It is assumed that controllers would override `authorize` for
  controllers that require specific authentication.
* It's sort of strange that `Clearance::Authentication` contains a bunch
  of authorization logic.

So, we:

* Split `Clearance::Controller` into `Clearance::Authentication` and
  `Clearance::Authorization`, both of which get mixed into
  `Clearance::Controller`.
* Mix `Clearance::Controller` into `ApplicationController` in the install
  generator.

Read more:

https://github.com/thoughtbot/clearance/pull/268
https://github.com/thoughtbot/clearance/issues/257