Allow for client modules to dynamically register modules.

We are trying to have consistent code across browser and node. What we'd like to do is publish global symbols from the vendor library into the module system.

initialize.coffee
```
require.register 'underscore', (exports, require, module) -> module.exports = window._
```

shared_library.coffee
```
_ = require 'underscore'
```

instead of 
```
_ = @_ or  require 'underscore'
```

 
There might be a better way to do this, but this is the best we could come up with. Any suggestions or is this pull request OK?