Adds support for limited version of managed blocking that aborts if ther...

DO NOT MERGE

Proof of concept for doing managed blocking for ThreadPoolExecutor,
inspired by an excellent discussion between @huntc, @hseeberger, @richdougherty and myself.
All of the methods above that I have fixed so that they don't allocate needlessly (Boy Scout)