Rename methods in HostsTable for consistency.

Over time, I've added additional functionality so that the original
load(), save(), and delete() functions isn't clear in what they do.

They've been renamed to make it clear that you're performing operations
with respect to hosts.

Changed contains to hasHost since that's more in line with Java
conventions.

Also changed setRunStats to save since it's saving to database and not
just changing the internal state of the class.
Store schedule & metadata template config in db.

Just got confirmation that the B2 configuration file isn't shared across
nodes. So scheduling a task on one node would change the configuration
that one node but not for the other nodes.

I've switched SavedConfiguration to be stored in the Hosts table in the
config column. I've also switched SavedConfiguration to a singleton,
with better load/save control flow so that it's no longer being loaded
several times on startup or settings page view.

This is sorta hacky in that I've just put the plain text configuration
file that used to be stored on the file system into the database. This
should be sufficient for now unless the config grows more complex.

Note that we still need a mechanism for notifying the other nodes that
the configuration has changed.
Metadata attribute config now template selection.

Instead of inputting each metadata template attribute id individually,
you can instead select from a list of templates. Same as the copyright
metadata building block configuration.

Note that we'll only check metadata attributes of type boolean.