Domain UI: Many boundary tests are dded to test_domain module.
Adding CLI support for Locations.

Adding support for the Locations command via CLI layer.
Added basic 'smoke test' test coverage.

Adding some basic tests for a quick 'smoke test' to be used by release
engineering to test some of the more advanced features of Satellite
before they can pass the build on to QE. Right now the test suite only
encompasses Katello features but I will be adding Foreman-specific tests
as well soon.

The areas covered are (all actions performed as new user):
* Check that there is an admin user
* Check that there is a 'Default_Organization'
* Check that there is a 'Default_Location'
* Create a new user with admin role
 * Create new organization
 * Create two different lifecycle environments
 * Create a custom product
 * Create YUM and Puppet repositories with real packages
 * Synchronize repositories
 * Create content view
 * Associate both repositories to content view
 * Publish content view
 * Promote content view to both lifecycle environments
Updated argument for Content View promotion tests.

I noticed that the 'promotion' subcommand for the 'content-view' command
was updated and no longer accepts a 'environment-id'. It now accepts a
'lifecycle-environment-id', so I have updated all CLI tests to use this
new argument.
Merge pull request #1050 from kbidarkar/boundary-domain-tests

Domain UI: Many boundary tests are dded to test_domain module.
Merge pull request #1054 from omaciel/smoke-it

Smoke it
Make Entity.Meta.api_path simpler

Each entity's Meta.api_path is currently a tuple in this form:

    api_path = (
        '/api/v2/this_entity/',
        '/api/v2/this_entity/alternative_path',
    )

However, entities offer absolutely no support for intelligently choosing among
these URLs, which leads to confusing and ugly client code like this:

    return self.Meta.api_path[0]

This is a bad state of affairs. Convert each `api_path` to a simpler form:

    api_path = '/some/authoritative/path'

And trim down client code to deal with these changes.
Add instance method Entity.path

By default, this method returns the path used to access all entities of its
kind, but one can also ask for an individual entity's path.

    Organization().path() => 'example.com/api/v2/organizations'
    Organization().path('this') => NoSuchPathError
    Organization(id=25).path() => 'example.com/api/v2/organizations/25'
    Organization(id=25).path('all') => 'example.com/api/v2/organizations'

If one asks for a path which cannot be constructed, an exception is raised.

Add tests for this new method, and fix the setUp/tearDown methods for some
existing tests.
Split lines as per PEP 8.