rename warden extension to patch the original

the Warden::SessionSerializer was not getting loaded at all because we had a file by the same name. We want it to get loaded and be patched instead.
separate login_required from access denied response

They are very different. Let's handle them in different methods.
SessionsController#unauthenticated for 401s

Warden will catch all 401 responses at the rack level and call the app for failures. By default that is SessionsController#unauthenticated.

I'm sticking with this. If we ever have other rack endpoints they can just send a 401 and the webapp will take care of the message.

Other options would have been to tell warden not to take care of 401 either during initialization or by calling custom_failure! in the login_required method.

We probably want a response that has a unique identifier for the error to process by the client and a translated message later on. For now i think the 401 suffices to identify the issue at hand.
render valid json error if provider file not found
use cucumber; initial ConfigsController
send static list of configs for now

Also added authentication steps to cucumber
move unauthenticated api endpoints into separate feature
clean up and simplify error responses and test code
minor: fix identity test for storing certs

we compare the cert that expires last to the one we just saved. So we need to make sure the one we saved is the one that expires last.
ApiController with API style auth

require_login is require_token for the api controller

It also skips the verify_authenticity_token before filter.
So all Subclasses of the ApiController will only support token auth.

Also made the V1::UsersController a bit more strict. Now way for admins to alter other users through the api. We don't support that yet so let's not allow it either.
send config files from ConfigsController
move fetch_user into module so it can be mixed in

We have an ApiController that wants to call #fetch_user. Since we can only inherit from one class i moved fetch_user into an extension.
minor: remove @s added by search and replace

meant to move id -> @id, also turned identity in the test titles into
@identity.
fix controller refactor and features

Also save debug log on failing features
clean up error assertions in tests

We're not testing the redirects anymore. But the error messages should be pretty clear already. We can start testing redirects again once we redirect to different places for different actions.
make sure i18n key can be found (cascade)

Also reformated long haml lines some. You can add a linebreak after a comma.
cuke: drop jsonpath, use simple keys instead

Also fixed the test for login_required
Merge pull request #176 from azul/feature/api-authenticated-configs

API: Authenticated access to config settings