[FIX] rare race conditions in the SessionManager

It possible that multiple threads may access several methods of the
SessionManager.

Fixed a rare problem when multiple threads may access methods to
create/start negotiation processes where one thread would lock the
session start/stop lock while another thread also tries to own the lock.

The result was a really wrong log message along with a missing
negotiation process that was never started.

DEBUG 23:13:46,075 [Worker-16] (CancelableProcess.java:321) process OSN
[remote side: jenkins_alice_stf@saros-con.imp.fu-berlin.de/Saros] exit
status: OK
DEBUG 23:13:46,079 [Worker-13] (CancelableProcess.java:321) process OSN
[remote side: jenkins_bob_stf@saros-con.imp.fu-berlin.de/Saros] exit
status: OK
WARN  23:13:46,080 [Worker-13] (SarosSessionManager.java:608) could not
start a project negotiation because the current session is about to stop


Change-Id: I95f57c4ea2d05eb5fcee5f9de9f064c0c5b47f2d
Reviewed-on: http://saros-build.imp.fu-berlin.de/gerrit/1035
Tested-by: Jenkins CI
Reviewed-by: Stefan Rossbach <srossbach@arcor.de>