Refacto presence status

This PR change the format of users status updates.

Before the status sent by the server where all like:

    {users: [...]} // full list of users for every presence update

Now the updates look like:

    {users: [...]} // initial state of the presence
    {userJoined: "foo"}
    {userLeft: "foo"}

The sidebar ask for the initial state every time the application is logged in. If the worker has this list, it sends it to the sidebar. If not, the request is sent to the server.

This PR was the occasion to refactor presence tests too, left skipped in the PR #181.