Allow optional requirejs-config.json file for extensions

Allow extensions to define their own `require.config()` parameters (see http://requirejs.org/docs/api.html#config).

For our app's use case, we have an existing code base that needs to load it's own version of jquery, underscore instead of lodash, and backbone with shims to jquery and underscore. This app also needs to configure paths for requirejs modules that are now located in a submodule folder.

Here's an example:
```
{
  "paths": {
    "jquery": "lib/theapp/public/js/libs/jquery/jquery.min",
    "underscore": "lib/theapp/public/js/libs/underscore/underscore-min",
    "backbone": "lib/theapp/public/js/libs/backbone/backbone-min",
    "toast": "lib/theapp/public/js/libs/jquery.toast.min",
    "text": "lib/theapp/public/js/libs/require/text"
  },

  "shim": {
    "underscore": {
      "exports": "_"
    },
    "backbone": {
      "deps": [ "underscore", "jquery" ],
      "exports": "Backbone"
    },
    "toast": {
        "deps": [ "jquery" ],
        "exports": "Toast"
    }
  }
}
```

This new optional config has no impact on existing extensions with the exception of an async file system call to check if requirejs-config.json exists for the extension.