Dominic/no more linked blocking queue

Use `SynchronousQueue` instead of `LinkedBlockingQueue` in `ThreadPoolExecutor`. Discovered that `LinkedBlockingQueue` can't handle that many concurrent `get()`s.

So far `SynchronousQueue` has had better performance in my testing.