Container creates a Registry if none is supplied.

In order to avoid breaking existing usages of Container in the wild, an
isolated registry will be created if none is supplied to the
constructor. This behavior is deprecated.

Note: This commit includes a temporary workaround for the lack of 
support for circular module dependencies in v0.4.0 of the ES6 
transpiler.
ya, but its a pain to debug :P. And in some unfortunate cases (older androids) it can result in surprising issues where it actually mutates arguments o_0)