Add Adapter public interface specs

Any object which implements this interface can be used to
provide support for other ORM/ODM/OxM than ActiveRecord.
Fix missing active_record requirement in ActiveRecordAdapter

Remove useless ActiveRecord requirement in spec_helper
No ORM is necessary to test the ORM adapter.
Refactor treat ActiveRecordAdapter as a generic adapter

This could be seen as supporting multiple ORM/ODM/OxM adapters.
Add :adapters option

Keep loading the ActiveRecordAdapter by default because
the Cucumber features depend on it. Even if the Cucumber steps
could be modified to handle that dependency, I prefer not to
do it here nor now.
Add Adapter module to make easy adapters definition

Any class whcih extends SimpleTokenAuthentication::Adapter
implements the adapter interface. Its required methods must
be overridden, and conveniently raise a NotImplementedError
when the override is missing.
Use Devise 3.4.0 in test environment

The Devise update did break the Cucumber features suite:

Minor fix misplaced requirement in dummy app
Devise must be required after Rails.

Minor fix Cucumber scenarios after Devise update.
The scaffolded controllers use `respond_with` but did not explicitely
define which formaats they `respond_to`. That used to cause no issues
but now triggers an error, possibly because of the new dependency of
Devise to the 'responders' gem (which was extracted from Rails, see
the Devise 3.4.0 changelog).
These errors have no interest in the context of the scenarios in which
they occur, that's why I opted for silencing them.
Require ActiveRecord as development dependency (part 1)

Anyone who would not want to install ActiveRecord could modify
the configuration to remove it from the adapters list.

Example:

    # config/initializers/simple_token_authentication.rb

    SimpleTokenAuthentication.configure do |config|
      config.adapters = [] # was ['active_record']
    end

Note: I temporary downgraded the ActiveRecord version to trick Travis-CI.

The build fails when the changes of the `Gemfile/*.gemspec` don't
match those of the `Gemfile.lock`, and just moving the ActiveRecord
dependency without modifying it seems to highly confuse the builder.
Require ActiveRecord as development dependency (part 2)

Restore the ActiveRecord up-to-date version
Second part of the Travis-CI trick, see previous commit.
Revert "Require ActiveRecord as development dependency"

This reverts commit ba04f711e5b5aee98af96cc64f94fc5654141833
and commit 5bc195eee0865c076b485e59ffc9fef72350bc1b.

I can't find how to get Travis-CI to accept the ActiveRecord dependency
status change. Below are the last failing builds, and a few other
can be found in the Travis history - any help with this issue
would be greatly appreciated!

Failing builds (and error messages):
https://travis-ci.org/gonzalo-bulnes/simple_token_authentication/builds/37118588
https://travis-ci.org/gonzalo-bulnes/simple_token_authentication/builds/37118949
Do not add adapters documentation in README

Let's create another adapter and use the adapters interface
before making its documentation visible.
Meanwhile, the specs do provide enough details for anyone
interested to implement adapters.
Add Hakiri badge

See https://hakiri.io
Merge branch 'refactor-define-public-interface-for-adapters'