style: semicolons, unused var
refactor: move error handling out of the providers
refactor: remove constructResolvingMessage from providers

Both errors (asking for SuperConstructor in a factory function; asking
for SuperConstructor in a class without parent) are thrown immediately
when a provider is being created (when a module is being loaded),
rather than during instantiation.