Fix compute resource entity

Make sure that the _factory_data does not override any user provided
field value.
Merge pull request #1467 from elyezer/fix-compute-resource-entity

Fix compute resource entity
Replacing instances of generate_ functions with appropriate FauxFactory methods.
Removing all instances of FauxFactory class.
slight changes to formatting.
Merge pull request #1463 from JacobCallahan/master

Replacing instances of generate_ functions with FauxFactory methods
End to end UI smoke test

Updated UI smoke tests with an end_to_end_ui_test that performs following steps:
1. Create org and env
2. manifest upload
3. Sync a RedHat repo
4. Create CV
5. Add repository to CV
6. Promote/publish CV
7. Create activation-key
8. Add product to key
9. Create vm
10. Pull rpm from server and install on client
11. Register client using activation-key
12. Install rpm on client

This test sync "Red Hat Enterprise Virtualization Agents for RHEL 6 Server RPMs" repo and installs python-kitchen rpm on client.
Fixed few UI tests
Merge pull request #1468 from sghai/fix-test

Fixed few UI tests
Merge pull request #1459 from sghai/smoke-tests

End to end UI smoke test
Add CRUD tests for the /media API paths
Merge pull request #1469 from Ichimonji10/test-media

Add CRUD tests for the /media API paths
`Entity.path` now uses the keywords `base` and `self`.

By default, the keywords `this` and `all` were used, now
it's modified and now uses `self` and `base` respectively.

The idea being `which='base'` returns the base path and
`which='self'` returns the path with the `id` of the entity,
while generating paths.

Fixing few more instances
Merge pull request #1470 from kbidarkar/base-paths

`Entity.path` now uses the keywords `base` and `self`.
Update Permission entity

Update Permission entity as it is a read only entity, also update its
fields.
Add search functionality to the Permission entity.
Add tests for all touched areas.
Merge pull request #1471 from elyezer/permission-entity

Update Permission entity
Improve the API layer for the Media class

Make the following code work correctly:

    Media(operatingsystem=[1, 2, 3]).create()

Formerly, operating system IDs would be completely ignored.

Make `Media.read` capable of correctly unpacking operating system IDs.

Make `EntityReadMixin.read` capable of correctly dealing with
`SomeEntity.Meta.api_names`. In other words, make `EntityReadMixin.read` capable
of dealing with mappings between local attribute names and remote attribute
names.

Test these changes.
Merge pull request #1472 from Ichimonji10/api-media

Improve the API layer for the Media class
"Added test for repository - upload content"

"Added test for repository - upload content"

"Added test for repository - upload content"
Merge pull request #1474 from tkolhar/test_cli

"Added test for repository - upload content"
Replacing instances of orm.type.get_value() with fauxfactory methods. Also, resolving merge conflicts.
Changed string formatting, and minor fixes.
Minor change to import and usage in entities.py.
Merge pull request #1473 from JacobCallahan/temp

Replacing instances of orm.type.get_value() with fauxfactory methods.