Start to reflow a few event bits.

 - Add links off media
 - Add more tests (more to come)
 - Require media_type; it's got a non-NULL constraint