Rename smoke tests to follow test naming

Tests should start with test_ and we don't need to specify api, cli and
ui as the tests is already in a module that have that differentiation.
Merge pull request #1580 from elyezer/rename-smoke-tests

Rename smoke tests to follow test naming
Update version_promote option

Update version_promote lifecycle-environment-id option to
to-lifecycle-environment-id.

Bonus: some formatting on lines containing lifecycle-environment-id for
other commands.
Merge pull request #1582 from elyezer/update-promote-options

Update version_promote option
Make it possible to create a user via API

When POSTing to the /users URL, wrap data within an extra hash. This is per the
API document.

    $ python -m unittest tests.foreman.api.test_user
    ....s......s......s.....s......s......s.
    ----------------------------------------------------------------------
    Ran 40 tests in 79.635s

    OK (skipped=6)

Targets #1578.
Merge pull request #1585 from Ichimonji10/create-user

Make it possible to create a user via API
Make Sphinx happy

Do not attempt to auto-generate API docs for the non-existent
`robottelo.api.apicrud` module. Fix a module reference.
Skip known-failing tests

Skip tests that are known to fail due to BZ 1154156.

    $ nosetests tests/foreman/api/test_multiple_paths.py -m _Host
    ..S.S.....S.....SSSS
    ----------------------------------------------------------------------
    Ran 20 tests in 48.694s

    OK (SKIP=7)

Make method `Host.create` subnet a nested hash of parameters, e.g. `{'host':
{...}}`.
Merge pull request #1586 from Ichimonji10/docs

Make Sphinx happy
Merge pull request #1588 from Ichimonji10/create-host

Skip known-failing tests
Make API logging more useful

Make the API client log out a warning whenever an HTTP 4XX or 5XX response is
received. Demote messages detailing the contents of every single request and
response from priority "info" to "debug".
Merge pull request #1589 from Ichimonji10/better-logging

Make API logging more useful
Trim down .gitignore file

Only ignore files and directories that are relevant to this project.
Unnecessarily ignoring files can make troubleshooting especially hard in
situations where a troublesome file is invisible to git.
Merge pull request #1587 from Ichimonji10/gitignore

Trim down .gitignore file
Use right quantity for subscription in CLI smoke

Use 1 instead of max available quantity because "only pools with
multi-entitlement product subscriptions can be added to the activation
key with a quantity greater than one."
Merge pull request #1590 from elyezer/update-cli-smoke

Use right quantity for subscription in CLI smoke
Fix timeout issues related to UI sync.
Merge pull request #1592 from kbidarkar/fix-timeouts

Fix timeout issues related to UI sync.
Fixes test_positive_create_2  testcase for false-positives.
set_context function in ui/factory no longer depends on "@" char.

We now fetch both organization and location separately, hence no
longer we need to deal with "@" char. This is undesired as org and
location both could contains "@" char and complicate things.

Also no need to explicitly set the navigation again when creating
second organization, ui/factory should take care of it when the
force_context=True.