Split System.register into .register() and .registerModule().

'instantiate' -> .register()
'register' -> .registerModule()
This allows the two formats to evolve independently.

Add `require` argument in prep for sending relativeRequire via function arguments.
I've said this before... why do we want `require` in all of these?