Throw an error if an Addon does not specify a name.

We use a generated name when an addon just uses the default implementation (meaning it doesn't need an index.js), but if you export an object that does not contain `name` you get very weird and bizarre errors (took me a bit to track it down).