Fixes #7566 - added support for dependeces among modules

Do not merge before docs and tests are added.

In module config YAML add `:require:'  <module> or list of modules e..g.:
```yaml
:katello:
    :enable_module: true
    :require: 'foreman'
```
Support for circular deps detection included
This line seems to raise exception anytime there's a dependency deeper than 1.