Refactored MongoMetadata a bit, broke out AbstractMetadata.  Prep for doing schema version validation (44672)
More refactoring into AbstractMetadata
Formatting
Metadata schema versions are now checked to be compliant with SEMVER
Merge remote-tracking branch 'origin/master' into dev-nmalik