Fix cross-calling provider overrides

Provider overrides were being applied after ``__salt__`` was added to each
minion module, causing minion overrides to be available on the CLI but
not within ``__salt__``. This commit moves the processing of provider
overrides to within gen_functions, so that they happen before ``__salt__``
is created and thus contain the module overrides.