Refactor CLI factories

Refactor factories to reduce duplicated code regarding merging the
default options with provided options.

Factories now returns the data returned by the CLI object create method
instead of updating the already provided options. This avoid false
positives for options that have been provided but are not listed by the
info output.

Also, update content host factory
Merge pull request #1597 from elyezer/cli-factory-refactor

Refactor CLI factories
Skip known-failing test (see BZ 1154803)

Issuing a PUT request to the /users/:id API path will fail if the request
includes the `auth_source_id` parameter. The API doc states that this
parameter is acceptable, but the application returns an HTTP 500 error with this
message:

    auth_source_id is not allowed as nested parameter for users. Allowed
    parameters are auth_source_ldap_id, role_id, location_id, organization_id,
    usergroup_id

Test results:

    $ nosetests tests/foreman/api/test_multiple_paths.py -m 'test_put_status_code_.*_User'
    S
    ----------------------------------------------------------------------
    Ran 1 test in 0.636s

    OK (SKIP=1)