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).
Merge pull request #1741 from rwjblue/throw-an-error-if-name-is-not-specified

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