Make user authentication internal by default

Do not generate non-existent LDAP server entries each time a new user is
created. Instead, use the internal authentication service, which is highly
likely to exist and be working.
Merge pull request #1137 from Ichimonji10/entity-fix

Make user authentication internal by default
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. Doing this helps to demonstrate that the new
method of specifying credentials is working, and it is a step down the road of
implementing an API smoke test.