Enhancement: Validate Storage Blocks

- Bug Fix: When heading metadata blocks we do not need to create a new block entry, there already exists on in the vault object (compliments of the listing) so no need to generate a new one
- Bug Fix: pep8 formatting, some things got  out of alignment
- Enhancement: Added a list to track orphaned blocks
- Enhancement: Added functionality to generate a cross-reference based on the presently known information
  - Assumes that (Metadata) Blocks will be validated first so that it can utilize the information acquired there to generate the cross-referencing data
- Enhancement: Added Quick Storage Validation functionality
  - This performs a validation by looking at the storage block list and comparing it against the metadata block list to determine which blocks are orphaned
- Enhancement: Added In-depth Storage Validation functionality
  - This performs an independent validation by heading each block in storage to determine whether or not it is orphaned
- Enhancement: Added Storage Block Cleanup
  - Removes the blocks that were found to be orphaned
Merge branch 'enhancement_validate_metadata' into enhancement_validate_storage
Enhancement - Building Metadata<->Storage Cross-Reference

- Enhancement: No need to generate a new block instance when heading a storage block, it already exists in vault.storageblocks
- Refactor: Move minmax() from the expire test to the general test module so we can use it in more places
- Enhancement: Added tests for building the cross reference data
Bug Fix: Build Cross References

- Bug Fix: Build Cross References did not have all the information for the log messages being generated
- Bug Fix: Log the mapping
- Bug Fix: Add condition checks in the tests
Enhancement: Test Validate Storage Blocks (Quick Version)

- Bug Fix: corrected typo of function name
- Enhancement: Added all tests for the validate_storage()
Enhancement: Validate Storage Via HEAD

- Refactor: Moved the calculate_ref_modified() and generate_ref_modified() out of the class so we could re-use more easily
- Enhancement: Added ability to add some extra storage blocks
- Enhancement: Added functionality to emulate heading a block in storage
- Enhancement: Added functionality to detect orphaned blocks via listing and heading the blocks in storage
Enhancement: Test Cleanup Orphaned Blocks

- Bug Fix: typo (storaged -> storage)
- Bug Fix: numerous places did not have the call back correct for storage block HEAD functionality
  - this also hid the fact that another test was required, added the test as well
- Bug Fix: Fixed distribution of orphaned data to be what I had intended - an even distribution
  - f.e 15 orphaned for 20 blocks yields 1 orphan per block only for the first 15 blocks
  - f.e 20 orphaned for 20 blocks yields 1 orphan per block
  - f.e 30 orphaned for 20 blocks yields 2 orphans per block for the first 10 blocks and 1 thereafter
- Enhancment: Testing for the orphaned block cleanup functionality
Merge pull request #8 from BenjamenMeyer/enhancement_validate_storage

Enhancement validate storage