Retry GET requests when networking timeout

GET requests should be idempotent so let's try a little harder when
networking is being troublesome.
[py] add batch endpoint and types

For simplicity we don't expose ApiBatchRequest and ApiBatchResponse,
just their individual elements.

Also a small change to .gitignore for Emacs backup files.
[py] Add new Hive result properties.
[py] Don't encode properties that have no values.

This avoids encoding properties that are not recognized by
the target service just because we declared them in the
source code.
Updating gitignore file to ignore eclipse artifacts
[py] Update package metadata
Bump current API version to 6 for CM5
[yamon] Add yamon to the python API bindings

This is a fairly straightforward change to add the python bindings
for Yamon.
[py] OPSAPS-15048 Add parameter to diagnostic data command to select cluster.

Adds an optional parameter to the collect_diagnostic_data_45 command to specify
which cluster should be collected by name so that a single cluster can be collected
from a multi-cluster CM instance.
Cleanup some copy & pasted code in the python bindings.

This change adds common code to deal with serializing
and deserializing call parameters / return types, so that
adding new method bindings requires less boilerplate code.

Changes, except for the new code added in types.py, are
mostly mechanical.
[api] Add yarn import and switch commands to python api
[py] Add python API for snapshot policies.
[py] Fix deserialization of custom list types.
[py] OPSAPS-16247. Fix ApiUser bindings.

And add unit test.
[py] Add comment to list deserialization code.
[py] OPSAPS-16301. Fix a couple of lists that have custom properties.

Need to properly declare those properties, otherwise the list
deserialization code will fail. Also fix a wrong check in the
ApiList deserialization code.
[py] OPSAPS-16259. Fix host template bindings.

And add test.
[api] OPSAPS-16453. Change YARN applications' "queue" property to "pool"
[api] OPSAPS-16489. Update ApiYarnApplication to have the same 'state' field as the UI
(cherry picked from commit a2c4d47f871edc08c68d5c9c1b558f747c25d5cd)
OPSAPS-16642. Expose API to fetch replication history.

Need this API to fix OPSAPS-16642, for which the replication systest
requires this API to fetch the "full" view of replication result.

Note that we only expose this API rather than additionally also adding a
"view" parameter to the get_replication_schedule(s) API. This is consistent
with the snapshot policy API and also prevents at least python API users
from fetching replication schedules with "full" view and potentially
overloading the server.