Improve logging calls

Make logging calls more resilient by parameterizing values, rather than simply
presenting the logger with a single monolothic message. Doing this prevents the
logger from choking on non-ascii inputs.

Ensure that information about an API request is logged out before the request
made, not after the API request completes.
Merge pull request #1134 from Ichimonji10/better-logging

Improve logging calls
Allow Factory to accept explicit auth credentials

Update the following methods:

* robottelo.factory.Factory.build
* robottelo.factory.Factory.create

Add optional argument `auth` to both methods. Clients may provide a
`('username', 'password')` pair to this argument. If clients do this, then those
credentials will be used when interacting with the API instead of whatever
credentials are returned by function `get_server_credentials`.

Also: update some docstrings to be nicer, clean up some tests using the mock
library, and add a new test for `Factory.create`.
Improve API smoke test

The ability to override default authentication credentials makes some code
unnecessary remove it.

Slightly expand the API smoke test.