Raise errors when improperly configured

* Define a custom ImproperlyConfiguredError
* Ensure that error messages suggest next steps