Never terminate until we've shutdown.

The docs on isTerminated() claim that this should be the case, but as it was written, if the
Executor goes idle, then is given more tasks before shutting down, it was in a bad state because
it had already internally terminated.
Merge pull request #75 from roguenet/fix-executor-termination

Never terminate until we've shutdown.