Refactor code for representing entities

In module `robottelo.orm`:

* Change `get_fields` to a class method. This allows the method to be used both
  on Entity classes and Entity instances.
* Add an inner class called `Meta`, which can be overridden. Child classes can
  insert metadata into this class.

In module `robottelo.entities`:

* Add a pylint directive to silence spurious warnings
* Add metadata to both of the existing entities: "Host" and "Model"

In both modules:

* Update docstrings.

This set of changes are prerequisites for the addition of factory classes.
Add module `robottelo.factories`

The new module contains factories which are intended for use when writing API
tests. Class `Factory` currently has one method of note working: `attributes`.
When called, this method returns attributes which can be used to create a new
Foreman object.
Write tests for module `robottelo.factories`
Include recently-created modules in API docs
Use factories in tests
Fix bug in module `robottelo.factories`

Add tests to ensure the bug is fixed.
Allow extra args in method `attributes`

Allow args to be passed in like this:

    SomeFactory().attributes(name='Alice')

Prevent extra args from being passed in, like this:

    SomeFactory().attributes(no_such_field='bad juju')
Use parentheses intead of line continuation symbol
Change branding

Do not talk about Satellite. Talk about Foreman.
test_org: Fixed few test cases related to orgs in UI
Merge pull request #941 from Ichimonji10/branding

Change branding
Merge pull request #942 from kbidarkar/fixorg-jun30

test_org: Fixed few test cases related to orgs for UI
Merge pull request #940 from Ichimonji10/factories

Factories
Generate default values for more field types

Class `Factory` is only capable of generating values for
`robottelo.orm.StringField` fields. Make it capable of generating values for the
following field types:

* `BooleanField`
* `EmailField`
* `FloatField`
* `IntegerField`
* `IPAddressField`
* `MACAddressField`
* `StringField`

Write unit tests for the relevant changes.
Add a unit test

Ensure that when `robottelo.factories._get_default_value` is called with an
unsupported field type, a `ValueError` is raised.
Allow `Factory` subclasses to provide field values

Subclasses of class `Factory` can now provide field values. For example, a class
`PersonFactory` might include code like this:

    def __init__(self):
        super(PersonFactory, self).__init__(
            entities.Person,
            interface=interface
        )
        self.field_values['name'] = 'Alice'

When this is done, 'Alice' will be used for the 'name' field instead of what is
generated by `factories._get_default_value`.
Rewrite docstrings
Make unit tests assertions more specific

For example, do not do this:

    self.assertTrue(len(string) > 0)

Instead, do this:

    self.assertGreater(len(string), 0)

Thanks to @elyezer for the suggestions.
Merge pull request #943 from Ichimonji10/factories

More factories!
Adds support for locators and navigation for selecting a Location