Glance/ArtifactRepo

Summary
Metadata Repository should be able to store immutable entities with their metadata. Metadata itself is not immutable and can be changed over time. Repository should support object versioning and metadata versioning. Metadata should support an ability to store different data, including a standardized metadata section for each artifact type as well as non-restricted or arbitrary metadata.