Metadata editing UI

Adding the ability to edit metadata in the UI. This should have some decent error handling. Currently checking for existing keys is a client-side step.