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
Merge "Moving storage logic out of backup runner class"