Code inspection changes

This PR encapsulates 2h of quality time spent with IntelliJ excellent code inspection tools. Lots of small changes like littering the code with `final`, weakening declared types and eliminating dead code. But I also found a few smoking guns:

  * `DriverLauncher.theJob` was never set, only read.
  * In each process, two `RemoteManager` were instantiated. This is fixed in `LaunchClass` by using `bindVolatile` to pass the one already created on to the next injector.

Given that we experience some flaky communication, we should check whether these rather mechanical code changes improve the situation.