Refactored the providers submodule into a several modules.
Adding from future imports for same Py2.7 - Py3.0 codebase behavior.