Add skip_doorkeeper_for (and other refactors)

- use `ActiveSupport::Concern` refactor `Doorkeeper::Helpers::Filter`
- add option `id` to doorkeeper_for to name the bearer
- add `skip_doorkeeper_for`

this change can give an advantage:

```ruby
class BaseController
  doorkeeper_for :all, id: :global
end

class Sub1Controller < BaseController
  skip_doorkeeper_for :global, only: :index

  def index; end;
  def show; end;
end

class Sub2Controller < BaseController
  def index; end;
  def show; end;
end
```
If we kept API compliance with Rails' `before_filter` we'd be able to simplify a lot. Wondering if it's worth it (and in that case wait for a major version release).

Loud thinking: I'm starting to dislike the API we offer on that basis. In rails, a global before filter looks like: `before_filter :my_method`, but we have to say in doorkeeper `doorkeeper_for :all`. Why not `doorkeeper_before_action`? It won't introduce a new API, and will be familiar to any Rails programmer.