Now we can start more than one debugger, but they are not independent (for example, if one set breakpoint
in one of the debug processes it appears in others too). It is done by using new free port number for
every new debug process start. It is achieved by passing 0 as a parameter to ServerSocket constructor in
InputReadinessChecker. This forces it to find any free port. Then we save found port number in public field
INPUT_READINESS_PORT in InputReadinessChecker. Later, in GHCiDebugger.prepareGHCi() we use this field value
(so, generally, INPUT_READINESS_PORT moved from HaskellDebugProcess to InputReadinessChecker)