Create, test and use EntityDeleteMixin

First commit message:

> Create and test robottelo.orm.EntityDeleteMixin
>
> Create a mixin class which provides inheriting classes with a `delete` method.
> Under normal circumstances, this method returns either `None` or a foreman task
> ID. Add tests for this class.

Second commit message:

> Make entities and tests use orm.EntityDeleteMixin

> Insert `orm.EntityDeleteMixin` into the class hierarchy of several entity
> classes. (e.g. Organization and Architecture) Update the following modules to
> use the new `delete` method:
>
> * `tests/foreman/api/test_multiple_paths.py`
> * `tests/foreman/api/test_role_v2.py`
> * `tests/foreman/api/test_system_v2.py`
Should we wait for the task completion? Also what about adding a flag to control if this method should wait or not, default is wait?