Add sha256 uniqueness to CollectionVersion
I know this is based on my original work on this, but there was discussion back then on how the sha256 for the Collection should be the digest of the
MANIFEST.jsonfile inside the tarball. I actually never got around to finishing all of the changes to my PR, so most of my comments here is me pointing out all the areas I didn't change it.
The reason raised for this idea was: A user can rebuild the collection and reupload it. After that they may be confused to find two content units with the same (namespace, name, version) but different artifacts. The whole idea of this pr is to allow having different artifacts claiming the same (namespace, name, version). I as a user would on the other hand be most suspicious if i built a collection, uploaded it downloaded it again and then got a different artifact. I'd like to revisit that discussion, as it probably decides on whether we can ever implement on_demand sync in a sane way.