Reintroduce commits related to [#74823266] and [#72987828]

- [#75451362] was created to address a regression where
  creating a release using non-local blobs would fail due
  to an attempt to add duplicate information into the
  final index for a package.

Signed-off-by: Karl Isenberg <kisenberg@pivotallabs.com>
Moved release-specific gitignore into the release test assets dir

Signed-off-by: Michael Maximilien <maximilien@acm.org>
Fixed storage of downloaded final package blobs

[#75451362]

Signed-off-by: Michael Maximilien <maximilien@acm.org>
Replaced CachingVersionsIndex with LocalVersionStorage

- Moved VersionsIndex SHA1 && blobstore_id handling out of CachingVersionsIndex

[#75451362]

Signed-off-by: Michael Maximilien <maximilien@acm.org>
Refactored VersionsHelper module as the VersionFileResolver class

- Moved versions index and related classes into a versions package
- Backfilled tests

[#75451362]

Signed-off-by: Michael Maximilien <maximilien@acm.org>
Fixed compiled package export/import test

- Test was depending on create release re-creating the same release
  if there were no changes.

Signed-off-by: Karl Isenberg <kisenberg@pivotallabs.com>