refactor omniauth configuration method

This refactoring allows a user to use omniauth providers which do not
use ```app_id``` and ```app_secret``` without having to change the
devise configuration (simplifies all the custom omniauth provider usage described [here](https://github.com/gitlabhq/gitlab-public-wiki/wiki/Custom-omniauth-provider-configurations) )