Removed some unnecessary code from the flie lock communicator.
Added stacktrace for build run in one of the tests.
Simplified the file lock contention handler significantly.

1. No longer stopping the executor thread when last lock is closed. This seems to work fine and does not cause any trouble. There's a new 'stop()' method on the contention handler, down the road it should be used when global services are being stopped. At the moment, we don't stop it yet.
2. No longer closing the communicator when last lock is closed. This will be done when stop() method is finally used.
3. Added unit test coverage