Allow wrapping clients with interceptors via module ID

Basic interceptor configuration can now look like:

    rest = require('rest');
    client = rest.wrap('rest/interceptor/mime')
                 .wrap('rest/interceptor/errorCode', { code: 500 })
                 .wrap('rest/interceptor/pathPrefix', { prefix: 'http://example.com' });

Using a module ID for interceptor config is now the recomened config
style. Docs have been updated to reflect this new style. One caveat
arround build tools such as r.js and cram.js, as they will not be able to
resolve these module IDs as dependencies.

Also, abstracted out the dynamic module loading bits from
rest/mime/registry into rest/util/loader. For a module ID, a promise is
returned for the module content.