Metadata needs to sanitize names

We shouldn't allow `:`'s or `;`'s or ` `'s in metadata names. Should we sanitize them when handed to us (I propose they all be turned into `_`'s, or should we error and make the client sanitize them (might not be possible)?