Make Executor fields volatile since they're read from the thread pool.
Don't create the Executor until we have everything it needs.
Merge branch 'master' into volatile
Merge pull request #505 from stephenh/volatile

Make Executor fields volatile since they're read from the thread pool.