Add missing database symlink
Switch to DDL instead of trying to execute raw SQL

Unfortuantely, there's a poor interaction between MySQLdb and
sqlalchemy that results in format-string sillyness. Revisit this with
a newer sqlalchemy installation.
Distinguish between report-to-user errors and true exceptions

We now define the following status API:
 * 0 -- no problem
 * 1 -- program error, such as validation or invalid command
 * 2 -- programmatic exception, likely the programmer making a mistake

This allows the web interface to distinguish between the failure
modes, and therefore can display the appropriate message, either
telling the user what went wrong, or asking the user to email the
maintainers.
Update database creation errors to ship with status
Document the various remctls