Revert "Web: nightly QA page has 'improved' table formatting"

This reverts commit 6b2092b14e1ed9b9ea2388ae9b3d13ed38c67e9d.
DB: extract WHERE & ORDER routines from find_jobs
DB: add MySQL-specific prev / next job method

This method takes a job identifier and the find_jobs parameters
and returns the identifiers of the jobs which would be before and
after the given job.
DB: omit find_jobs ORDER BY clause when counting
Web: add prev / next links to job info page

This works by storing the user's job query in their session,
and then passing it to the new job_prev_next method while
preparing the job info page.  The existing pagination system
is used, with the addition of two new parameters to the
render_page_control macro.  These allow the description
of the link targets to be changed ("job" instead of "page")
and the first / last links to be hidden.
Web: add prev / next links to job QA page

These work in the same way as those on the job information
page.
jcmtobsinfo: correct spelling of scanmode
DB: remove obsolete template
Web: use "URL" query in session for prev / next

Storing the arguments to find_jobs in the session was troublesome
because they could include objects which the session system can
not serialize by default.  It was decided that storing the "URL"
query would be better than storing the find_jobs query arguments.
The code for preparing the job query from the query parameters
has been separated out into a new function "job_search".

Updated the parameter handling of the job list page to make the
URL query parameters consistent with the template context parameters.
The parameters are now at the same level (a "query" dictionary)
in the template context rather than being split between the top
level and an "obsquery" dictionary.  Made the spelling of "qa_state"
consistent everywhere (not "qastate").

The render_choices template macro does not need to be given the
parameters from the template context (since it can see it),
so removed them as macro arguments.
Web: use JSAQAState class rather than codes

Also add INVALID to the list of states which require explanation.
Web: hide error summary page form unless logged in