Paginate backup list api

* Order list by updated at to show latest first
* Add pagination support for backup list and instance backup
  list
* Add tests for pagination and ordering

Implements: blueprint paginate-backup-list

Change-Id: Ie98bd2bc0500dfe4bbe0bb8b420ad80ad7f5a5df
Moving storage logic out of backup runner class

* Adding a StreamReader to handle segment logic
* Refactored base classes to make subclasses easier

Closes-Bug: #1251649

Change-Id: Ic22bb42827e0f5dc593df8705737fe27c1feabb8
Properly mark a backup as FAILED if the process failed

* Add a try except around the backup runner
* Moved conductor update calls outside of the scope of
  the runner with statement to catch exceptions in
  the __exit__ method.

Closes-Bug: #1256384

Change-Id: Icf539ab75314476b42a6e175c087ff61cc3608e1
Removes dead code from trove/tests/api/root.py

Reason:
- ./trove/tests/api/root.py uses undefined method
  create_mysql_connection in log_in_as_root.
- log_in_as_root is not used anywhere in any tests.

Changes:
- Removed log_in_as_root method from ./trove/tests/api/root.py

Change-Id: Ia5ab6538cab54a98b8057d0bf4c39dda9c7e3bf8
Closes-Bug: #1261174
Cleans the method init_engine

Reasons:
- init_engine contains code after return statement,
  which is of no use.
- the statements used are also of no purpose as
  they use unavailable variables.

Change:
- Code lines after return statement are removed.

Change-Id: Ibfd1f0de1d9200c0f1a724345fa9ef744da1ce7e
Closes-Bug: #1261169
Changes command to create the directory

Reasons:
- os.makedirs since running under normal user access
  will not be able to create the directory at
  root locations like /var/lib.

Changes:
- Used utils.execute like used at other places
  for working under root access.
- Test changed to test utils.execute instead of os.makedirs

Change-Id: Ie2313ae4cc22ac4a9baa4d8e099080f227a980c4
Closes-Bug: #1261492
Merge "Moving storage logic out of backup runner class"
Merge "Properly mark a backup as FAILED if the process failed"
Merge "Removes dead code from trove/tests/api/root.py"
Merge "Cleans the method init_engine"
Merge "Changes command to create the directory"
Adds non-volume-support to create server with heat

Reasons:
- There is no supporting code for CONF.trove_volume_support = False.

Changes:
- Added code for CONF.trove_volume_support = False.

Change-Id: I048169e20c3ac713f44e7df85e6b691b707fa88c
Closes-Bug: #1262357
Corrects the help message for trove_volume_support

Reasons:
- trove_volume_support has wrong help message in cfg.py code.

Changes:
- Corrected the help message.

Change-Id: I96ce1fe669d52d5c3fec81dd51b80f1fbe01ebfd
Closes-Bug: #1262398
Merge "Corrects the help message for trove_volume_support"
server identifier corrected

Closes-Bug: #1262421

Change-Id: I41c907387e1ad3f2024a3dac21366a0f53e46f0f
Merge "Paginate backup list api"