More deadlock fixes.

It's possible that some InterruptedExceptions were being hidden by
the GrabJobEventHandler, which must catch those and not throw them.
So wherever we call driveSessionIO, check to make sure that we are
still supposed to be running afterwords.

Make sure all other places where InterruptedException is caught
do something reasonable with it.

Remove printStackTrace calls and replace with logging calls.

Change-Id: I0790eece8582c1ee2cd28e8866bfd4a9d5d700cd