Refactored BlockingThreadPoolExecutor to make it easier to subclass.

Change-Id: Iceaa77d38dbdcc136037799e4c3367919bd30a07