update default config with extra provider and switch_back option
WIP dispatch controller/view lambda guards via a guard class

This abstraction will allow us to specify a class to handle authorizing access
to the controller/view rather than using the lambdas. This becomes more important
as configuration becomes more complex and the need to be able to test guards
becomes more important.
Merge branch 'master' of ssh://github.com:22/flyerhzm/switch_user