Decouple SAML authentication from the default Omniauth logic
Fixes gitlab-org/gitlab-ee#178
With this merge request SAML gets its own login logic and it's own User
class under lib/gitlab/saml/
This is needed to give SAML more versatility over how the authorization process works and to pave the way for the development of a SAML group sync as outlined here: gitlab-org/gitlab-ee#118
@marin as part of this MR a new setting was added to gitlab.yml
that also needs to be added to omnibus. Please let me know how that process works.
/cc @dblessing @DouweM