Hub SSOT - Do we want to support package + metadata versioning?

First proposed in #180 (closed).

If we allow users to pin a version of their package, they need to be able to pin the metadata at that point in time too as metadata changes with the code. If a user has a 0.9.0 package version installed and a breaking change (say a new required setting was added) was introduced to the 1.0.0 (latest) version along with metadata updates, they cant just pull the latest metadata or their pipeline will break.

This may be resolved by the lock mechanism meltano#3031 (closed) but we should decide if we only want to the hub to represent the "latest" or "current" metadata.

This decision affects the way we implement the V2 API and the organization of the files in the hub.

Edited by Pat Nadolny