Added the first layers unit tests.
Finished the module registry. It is now possible to save the current & previous states of sys.modules.
Moved all layer tests to the unit tests layer.
Forgot to check that register() only accepts dictionaries and that current_state() returns an empty dictionary.
Removed PyCharm template code from tests.common.__init__.
Renamed the ModulesRegistry methods to clarify intent.
More intent clarification. Added a new exception that should be raised when no modules are registered.
Moved registry tests to the correct layer.
Added the integration test module isolation level calculator. All tests pass correctly.
Merge from origin.