Omniauth adjustments for Shibboleth integration.

Following this discussion:
https://groups.google.com/forum/#!topic/gitlabhq/t860p0HWXFU

These are the changes I present to unify Omniauth provider handling and to add support to Shibboleth authentication. The omniauth-shibboleth module has been changed to improve configuration and is pending upstream approval, so I have included my own version from the Gemfile.