Feature/vote websocket

what i did:
- a ttl index error on collection sessions occured - I could fix it by setting auto_reconnect to true, but i am not sure if this is needed at the master branch

- implemented a new websocket event votes_changed
  in the backend i only copied the event_songs.js because of the client registration - therefore the code is  duplicated, if markus refactors this - as discussed with him - i will adapt it too

- at votes_changed event all votes are pushed to the client
- at page loading in the frontend an initial get request to load votes is done

- for disabling multiple voting client votes from the same user are saved locally - therefore no request/response is needed when a vote is done
but it is also stored server-side and requested at initial load or a page refresh by F5


why wrap this in a function? I don't see you calling this anywhere else