Fix: use String ctor function instead of toString to handle nulls
Log exception when refresh queries fails
Run query in forked process
Fix: child process wasn't exiting
Don't use connection pool in query runner
If worker forked process didn't exit cleanly, update job
Store job process id
Naive implementation of job cancel
Job: support for old job that had no process id.
Job: when cancelling send SIGKILL instead of SIGINT.
Show cancel button in UI.