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.
(API) Port old tests for hosts

Significantly update the definition of class `Host`: modify fields and override
the `build` method to properly create dependent entities. Enable CRUD tests for
hosts in module `test_multiple_paths`. Drop old CRUD tests for hosts.

Slightly clean up module `test_host_v2`.