End to end test CLI smoke tests

This perfroms following steps:
1. Create new organization and environment
2. Upload manifest
3. Sync a RedHat repository
4. Create content-view
5. Add repository to contet-view
6. Promote/publish content-view
7. Create an activation-key
8. Add product to activation-key
9. Create new virtualmachine
10. Pull rpm from Foreman server and install on client
11. Register client with foreman server using activation-key
12. Install rpm on client
This is OK (and I've used this format for code in a number of places), but if the only argument to a function or method is a dict, then this format is also nice:

    new_env = make_lifecycle_environment({
        ...
    })