[INTERNAL] Changed moment when certain operations take place 

Added the new methods userStartedQueuing() and
userFinishedProjectNegotiation to the ISharedProjectListener,
indicating when a user is able to process IResourceActivities. 

userStartedQueuing is called when the client started
queuing and indicates, that he can now queue IRessourceActivities.
userFinishedProjectNegotiation is transmitted to every participant,
signaling them that the new user is now able to process
IRessourceActivities.

Some operations where executed too early. These operations were moved
from userJoined() to the new methods.

1. The clients now send their awareness-informations (which editor is
open etc.) after the user finished the Project Negotiation(PN). As a
result the user can now
see these informations as soon as he finished his PN.

2. The host now adds a new user to the JupiterServer after that user has
started queuing. As a result inconsistent JupiterTimestamps, caused by 
JupiterActivities sent between Session Negotiation(SN) and PN, can be
prevented.

3. Host only sends IResourceActivities to users that can process them.
As a result obviously failing Activity-Transformations (resources
doesn't exist between SN and PN) at the joining user can be prevented,
resulting in less exceptions. 

Change-Id: Iba0dfc4154a8bc148d49358aab344a4f0671a3fa
Reviewed-on: http://saros-build.imp.fu-berlin.de/gerrit/869
Tested-by: Jenkins CI
Reviewed-by: Stefan Rossbach <srossbach@arcor.de>
Reviewed-by: Patrick Schlott <pschlottk@gmail.com>