Clean up zombie processes on backup failure

Ensure that a SIGTERM is sent to the session leader of the process
group, so that all backup processes are terminated in case of a
FAILURE. This ensures that no zombie processes are left behind.

Closes bug 1253850

Change-Id: I4bd53c37923f83abe4c51deb95d740656ab21979
Conductor proxies host db access for guests

Previously, instances updated their status by
updating the database on the host directly.
Necessarily, each instance would need access to the
database to stay updated.

Trove's new conductor service eliminates that need by
working as a proxy for those instances. By sending a heartbeat
to conductor via RPC, conductor updates the database
on the host on behalf of the instance.

As backups also made use of the host database, the backup
code has been refactored to take richer inputs to remove
the need to query the host database, and now conductor is
also used to submit updates to backup states.

Implements: blueprint trove-conductor

Change-Id: I4cb34baedd0e3a50051f9e66de95c9028c66e4b5
setting fake mode to print startup errors

Change-Id: I55a2e547ffaa02621093af8d9c7d0a48714fb6be
Removes security_groups from _create_server_volume_heat signature

Closes-Bug: #1254607

Change-Id: I22b6af351dd3a371443f432c01785c706eff8397
Removes unused import statements

Updates tox.ini to remove suppressed F401 standard.

Updates the code files containing unused import statements

Change-Id: Ib44bd1509fdb17f457a205f9e62caf85cebee830
Closes-Bug: #1257267
Updates tox.ini to remove suppressed H401.

Updates the code files containing H401 bug.

Change-Id: Ib0511a9447aa676cef3af7cdfcd9fd92748283b7
Closes-Bug: #1257294
Added ability to pass custom command-line options to backup runner

Added a new DictOpt field "backup_runner_options" to the trove config
Custom command-line options for the backup runner can be passed in
through this

Closes-Bug: 1253849

Change-Id: I2ea45aa4899da4126776ef14a9cb2f0328a9e544
Unittest Case for get_user

Unit Test Case for Mysql get_user attribute written in
trove/trove/guestagent/manager/mysql_service.py

Change-Id: I276346d354c7238097d375e3a6865e72af77b060
Implements: blueprint getuser-unittest
Merge "Added ability to pass custom command-line options to backup runner"
Merge "Clean up zombie processes on backup failure"
Merge "setting fake mode to print startup errors"
Merge "Unittest Case for get_user"