'unshift' argument for provide's loader

Providers are used in config blocks, but in case when config block invokes before provider, there is no-provider error. This situation may appear when module and config block declared in one file, and provider - in another. Eg.

_module.js_
```
angular.module("App", [])

.config(function (fooProvider) {});
```

_foo-provider.js_
```
function fooProvider () {
  return {
    $get: function () {}
  };
}

angular.module("App")
.provider("foo", fooProvider);
```

Code from _module.js_ always runs first and causes an error. There is [fiddle](http://jsfiddle.net/garmashnikolay/9p5cgde4/1/)
What do you think?