TSM backup driver changes to support file backup

Extend TSM backup driver to support backup of file based volumes,
as well as restore and delete of the backups.  This in addition
to the current block based volume support.  This involves determining
the type of volume this is requested to be backed up, and modifying
the dsmc command options accordingly.  When a volume is backed
up, the backup mode and backup path are saved in the backup
service_metadata for use on restore and delete operations.

This commit includes some further refactoring based on pylint
feedback and system testing.

Implements: blueprint tsm-backup-driver-enhancement
Change-Id: Ic994a8c2f7302e59358dd858b50df746c9a7d76f
Add optional ionice to volume clearing process

Allow the volume clearing process to have an ionice priority set to
reduce the performance impact of volume zeroing. Note that this may
cause volume clearing processes to get backed up on  a busy system, use
with care.

DocImpact
Change-Id: I2d556f57aaca8a8ccc6f0f767f1cec28c3f9bc86
Implements: blueprint when-deleting-volume-dd-performance
Don't clear host_state_map when scheduling

host_state_map was added to scheduler for the purpose of caching latest
host_state in memory for scheduler.  With this cache, scheduler has the
latest host_state (e.g. free_capacity, allocated_capacity, etc) of hosts
even hosts haven't reported their updated status to scheduler.

Unfortunately, this cache is flushed when scheduling pulling all available
volume services from DB in current implementation, which is a bug.

This change remove the host_state_map.clear() so that scheduler is able to
maintain an up-to-date (well, mostly) view of all volume services in memory.
Also, added code to remove non-active host from the cache every time when
scheduler handles a new request.  Multi-line docstrings in cinder/scheduler/
host_manager.py are also fixed.

Change-Id: Ib47be483fa26631a1483721e2ae6d972994e150f
Fixes-bug: 1271162
Merge "Don't clear host_state_map when scheduling"
Merge "Add optional ionice to volume clearing process"
Merge "TSM backup driver changes to support file backup"