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