Ensure InterruptedException is handled properly

There were a few cases where InterruptedException is caught but the
interrupted status wasn't being set, and one other place where the
exception was being rethrown so setting the interrupt flag wasn't
necessary.
Merge pull request #145 from pkwarren/interrupt_fixes

Ensure InterruptedException is handled properly