Feature/tlt 426 custom error framework

Note: this PR requires the changes with the same feature branch name (feature/TLT-426_custom_error_framework) in icommons_ui and django-canvas-course-site-wizard).

* Adds draft versions of custom display error messages to settings, to be used with subclasses of RenderableExceptions
* Adds icommons_ui logging to settings files
* Updates project-level error page 500.html to show RenderableExceptions if rendered by the custom error page mixin 
* Refactors 403, 404, 500 errors to a single error page 500.html to adhere to DRY principles

I'm not sure why we'd show a 500.html page for a 404 error.  Does it not make sense to have a generic 404 page?  I think the ones that were in the project are generic enough that they could exist within icommons_ui.  There would also be no need to duplicate template code if the 403 and 404 pages extended the `base.html` template.  That way you wouldn't need to define any handlers at all since any context would be achieved by using the CustomErrorPage mixin.