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).