error page now handles ALL errors, and falls back to showing a generic "500" error message if an error code is not specified