Extend QueryException with the query itself and surface it in the error page
A common pitfall with integraality is when one of the SPARQL queries times out.
While it's generally not the tool's fault (the user is merely trying
to do something too expensive or impossible), the surfaced error
is not very friendly and does not give on what happened and where.
- Add a query attribute to the QueryException object to store the SPARQL
- Do not catch the exception in process_page, let it bubble up
- Catch the exception in the web app and display it using the new Jinja template update_query_error.html