Changes the event log schema to add an asset_tags table.
Each tag is tied to the asset_key, as well as a "source" column, (just in case we want to distinguish between materialization-based tags and dagit-based tags).
Also includes some refactoring of the storage and instance APIs to take in tags.
Note: this change will break ursula, so after it clears review, it should be paired with a change to the base implementation there
Not included in this diff:
- an experimental API on the asset materialization event to take tag values
- graphql arg changes to query assets by tags
- Any UI