Format timer

@michaelcahill, changes to support timer-limited runs in format, some minor cleanups.

The reason I didn't just push this is that I changed how we're calculating how often to checkpoint and/or close/open session/cursors, and I thought that might be worth a quick look.
I wasn't thinking about the number of operations per thread -- I just wanted to push the next checkpoint out reasonably far, but not far enough that we don't do at least a few checkpoints.

That's the messiness about this change: the worker thread doesn't know how many operations it's going to do (because there may be a timer running), the worker thread can't make decisions based on the run as a whole.

It wouldn't be difficult to have the coordinating thread decide when each worker thread will do checkpoints, if the old behavior is worth preserving.

I don't think we should use the checkpoint server thread (at least not exclusively), because this is the only code we have that tests named checkpoints.