[componentManager] Refactor: $exports -> $register
Since register classes is not mandatory -you can use a class without the kernel knowing it-, exports didn't seem like a good name for the parameter. Register is way more self-explanatory.
[kernel] Removed method ::load() { was self::componentManager::loadClass() }
componentManager->loadClass() now only can return new classes
ComponentManager: Added requirements of components
+ A component being loaded checks for a $requires variable that needs to be in the load.php file of the module. Contains an array of strings with the names of the components needed for this to work property.
+ Added ComponentRequiredNotLoaded exception for the above behaviour
+ Added tests for this