Refactor with an eye toward separation of git-core and specific provider

I'm currently working on the rewrite of the OpenStack provider in a separate gem. As a result, the 'require' for the provider needs to occur within the context of the new gem, not fog-core.