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.
Fix the `clone()` function call for better readability.