Fixes for UI timing issues  and adding of bugzilla id to data type.

cherry picked from commit f8ed08ef39e1063f21beeca881bd3570074f9f85
Also resolved for conflicts after cherry picking.

fixed for timing issues s/find_element/wait_until_element/ ui/login.py
----------------
tests.foreman.ui.test_domain.Domain.test_create_domain_1

Fixed for html  [ html chars vary, so not possible to test for 255 chars.]
--------------
tests.foreman.ui.test_domain.Domain.test_create_domain_2

fixed for UTF8 added 'bugzilla': 1144162
---------------
tests.foreman.ui.test_org.Org.test_add_user_2

fixed for UTF8 added 'bugzilla': 1164247
-------------
tests.foreman.ui.test_location.Location.test_remove_configtemplate_1

fixed for timing issues s/find_element/wait_until_element/
-----------------------
tests.foreman.ui.test_user.User.test_positive_create_user_10
tests.foreman.ui.test_user.User.test_positive_create_user_24
tests.foreman.ui.test_user.User.test_positive_create_user_25
tests.foreman.ui.test_user.User.test_positive_create_user_9

Conflicts:
	robottelo/ui/factory.py
	robottelo/ui/login.py
	tests/foreman/ui/test_location.py
	tests/foreman/ui/test_org.py
Merge pull request #1700 from kbidarkar/fixes-from-zsream

Fixes for UI timing issues  and adding of bugzilla id to data type.
Added test for add_repos to cv with names.
Merge pull request #1701 from kbidarkar/add-cv-tests

Added test for add_repos to cv with names.
Added RH content to test_cv_composite_create in ui/contentviews
Merge pull request #1703 from kbidarkar/rh-content-cmpcv

Added RH content to test_cv_composite_create in ui/contentviews
Fixed: test_negative_create_{0-2} org test by setting the edit variable value to False
Fixed: org, location, domain, config_group, medium tests by placing wait_for_ajax before calling search fn
Fixed: test_negative_create{1-4} location tests

(cherry picked from commit aa0b29c9ea8f791b5214ad83ab37183a2cbf4336)
Merge pull request #1724 from sghai/zstream_fixes

Fixed UI test failures - cherry-picked commit from zstream branch
Cleaning up cli code base
Fixed string formatting.
Substituted single double quotes for single.
Updated all docstring that were out of date or missing.
Merge pull request #1693 from JacobCallahan/clean-cli

Cleaning up cli code base
Deduplicate test data

Create function `_test_data` in module `tests.foreman.api.test_repository`. Use
this function to feed data to several DDT data decorators, like this:

    @ddt.data(*_test_data())
    def test_foo(self, data):
        ...

This allows test data to be written out once within the body of that function
and then re-used in several places.
Fixed UI smoke tests: failing while creating new org since edit flag was set to true default
Merge pull request #1734 from Ichimonji10/test-repository

Deduplicate test data
Update EntityDeleteMixin, change _poll_task args

Create method `EntityDeleteMixin.delete_raw`. This method is useful when a
client wishes to delete something and get the response object, which contains
information such as a status code and the raw byte response.

Make method `EntityDeleteMixin.delete` act more like other methods that deal
with foreman tasks. It now always returns a dict of data, rather than evaluating
some mildly complex logic and returning either a foreman task ID or None.

Change the arguments to the `robottelo.orm._poll_task` method. Make that method
use `None` as a default argument to several methods instead of concrete values.
This change makes it easier to override that method.

Update the unit tests for `robottelo.orm.EntityDeleteMixin.delete`.

    $ nosetests tests/robottelo/
    ......................................................................................................................................................
    ----------------------------------------------------------------------
    Ran 150 tests in 0.107s

    OK

Use method `delete_raw` instead of `client.delete`. Using `delete_raw` allows
for more compact code.

    $ nosetests tests/foreman/api/test_multiple_paths.py  -m test_delete_status_code
    ......................
    ----------------------------------------------------------------------
    Ran 22 tests in 31.614s

    OK
Merge pull request #1736 from Ichimonji10/delete-raw

Update EntityDeleteMixin, change _poll_task args
Skip tests that fail due to BZ 1166365

Deleting a repository is an asynchronous task, and there's no way to monitor the
progress of the deletion except by polling to see if that repository still
exists. This is problematic, and it's exacerbated by the fact that the task can
take a significant (10+ seconds) amount of time. When a client deletes a
repository, the server should either block until the deletion is done, or it
should return a task that can be monitored.

Here's a simple script that I've used to test this issue (it depends on some robottelo code):

    #!/usr/bin/env python2
    from robottelo.entities import Repository
    from time import sleep
    repo_id = Repository().create_json()['id']
    repo = Repository(id=repo_id)
    print('Target: 200, actual: {0}'.format(repo.read_raw().status_code))
    repo.delete()
    print('Target: 404, actual: {0}'.format(repo.read_raw().status_code))
    sleep(10)
    print('Target: 404, actual: {0}'.format(repo.read_raw().status_code))

And here's some output I've received:

    Target: 200, actual: 200
    Target: 404, actual: 200
    Target: 404, actual: 500
Merge pull request #1739 from sghai/smoke-fixes

Fixed UI smoke tests
Merge pull request #1741 from Ichimonji10/bz-1166365

Skip tests that fail due to BZ 1166365
Tweak smoke test "get_api_links"

Make the errors produced by the test more useful. For example, this comparison:

    assertEqual(frozenset(foo.keys()), frozenset(bar.keys()))

produces much nicer error messages than this comparison:

    for k in foo.keys():
        self.assertIn(k, bar)

Rename several variables for the sake of clarity. For example, use this
assertion:

    self.assertEqual(
        frozenset(api_paths[group]),
        frozenset(API_PATHS[group])
    )

Instead of this assertion:

    self.assertEqual(frozenset(paths), frozenset(API_PATHS[category]))
Update robottelo's list of API paths

Several new API paths have been added.

* @cfouant can vouch for the `activation_keys` paths.
* jsherrill can vouch for the new `errata` path.
* mmccune can vouch for the new `mail_notifications` paths.
* partha can vouch for the `docker_images` and `docker_tags` paths.

There is a bug in apipie, so these paths differ from what the server currently
returns. This bug is described in BZ 1166875. Make the test code accomodate this
bug.