Changed ConcurrentSpec so any thread other than the main test thread can define instants, rather than just those threads launched by ConcurrentSpec.executor.
Reworked DefaultExecutorFactory unit tests to use ConcurrentSpec, so they should be more reliable now.
Don't pad the lock file with 0s on close if it is shorter than expected.
Call to flush() was in the wrong spot (but not really required anyway).