Implement non-blocking shutdown command that unblocks other threads waiting on blocking operations.
Merge remote-tracking branch 'upstream/master'
Merge pull request #650 from ricnewton/master

Implement non-blocking shutdown command