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
Make `AuthSourceLDAP.read` work

Expand the signature of method `EntityReadMixin.read` with a new parameter:
`ignore`. This new argument allows a user to specify that certain attributes
should not be read from the server. Update all overrides of the `read` method to
accomodate this change.

Define `AuthSourceLDAP.read`. This allows the method to succeed, and it fixes a
failing Jenkins test.

    $ nosetests tests/foreman/api/test_multiple_paths.py -m test_entity_read_1_AuthSourceLDAP
    .
    ----------------------------------------------------------------------
    Ran 1 test in 1.534s

    OK