Manage DB connections properly wrt transactions

You cannot start a transaction on the same db connection if you have already started one.
We were just giving a single connection to the `jobs` library and then using that library in an asynchronous manner.  (At least, when calling `processNow()` we were.)  Because `processNow()` start a transaction, this is naughty.

So I've changed the design so that `jobs` is passed a connection string rather than an actual connection and uses the connection pool stuff in the `node-posgres` library to spin up its own connections.