Add a new per-session flag, WT_SESSION_CAN_WAIT

@michaelcahill, here's the change we discussed, plus a couple of semi-related odds-and-ends (all on separate commits, so you can cherry-pick or revert easily if you want).

Reference #1152.
When will the checkpoint thread be doing block manager writes while it isn't holding the checkpoint lock? Maybe during the write leaves phase?