Do not mask null descriptions

This is a serious bug if it occurs and we want to accept the exception.

Signed-off-by: Chris Sanders <zidane@outlook.com>
Greatly simplify Addon framework

- Remove AddonLoader, now merged into the AddonManager (it handles all
  addon manipulation).
- Unexpose the addon classloader from addons. If someone can give me a
  genuine excuse to have it back, I'll consider it but for now...no.
- Removed the InternalAddon from the API.
- Removed the AddonDescriptionJsonDeserializer from the API. API shouldn't
  define how an implementation would load the description.
- Removed boilerplate initialize from Addon, AddonManager now sets the
  fields with reflection.
- Put all mod messages into the builtin package.

Barring potential bugs that may crop up, the addon framework is now
production ready.
Signed-off-by: Chris Sanders <zidane@outlook.com>