Add rooms to io sockets

Client will join a room for each repo: 'user/repo'
Authenticate socket room join

When a user joins a socket 'repo room' they must have permission
to view that repo (aka non-private repo)
Merge pull request #341 from reviewninja/feature/websocket-update

Add rooms to io sockets