Remove unnecessary permissions.

Try to pare down permissions so we don't request too many of them.

The only one remaining that's a bit of a concern is read, write, execute
on all files. The execute may be removed if we don't need to execute
shell commands as part of the hostname discovery. Read and write is
required for the configuration file. The configuration file may be
disposed of if we just store all settings in the database. Which we may
end up doing since the configuration file may not be shared among
multiple nodes.
Move files for consistent package names.

The ui package was confusing as that servlet turns out to have nothing
to do with the ui now, so was renamed to router in line with the alerts
module stuff.

HostOptions was meant to be an object for conversion into json and so
was moved into jsonintermediate.
Reduce flicker for status section on config page.

There is a polling for updates on the status section every 10 seconds.
This results in a flickering as the elements are updated. I've reduced
the flicker by only updating the elements if the status message changes.
Db schema, change filepath to 2000 characters.

Since that's what Blackboard is using to store their filepaths.
Alternative hostname resolution.

Try several different ways of guessing the hostname.

List alternatives in the config page, so hopefully we'll find one that
works.