Expand API to return available source and target languages

This is necessary to detach the web interface from /slang/tlang/ URLs in
favor of a global / or /search/ URL.

Note that the languages are cached on the first run to avoid hitting the
database again. The languages are alphabetically ordered.
Web UI: Do not use languages on URL for web interface

Now instead of having /en/fr/unit or /en/gl/unit we only have a / URL
for all the possible languages combinations.

This will allow to serve the web UI as static content in a future.

The languages in the dropdowns are automatically populated using
the available source and target languages in the database.
Web UI: Select default languages in dropdowns

By default the 'en' source language is selected (if present) and also
the browser preferred language is selected (if present).
Web UI: Just hide the table headers and not all the table
Web UI: Add spinner
UNDO
IN PROGRESS:        Add command to create blank DB
UNDO    Do proper commits for all these changes
UNDO    New web UI notes. Do commits.