Add grunt task for initial server testing
* add grunt-mocha-test module
Test passing for clientReady
* clientReady checks whether number of ready clients equals the server's room limit
Passing unhappy path for clientsReady
passing happy/sad tests for addClient
* added afterEach hook that blows away the allClients & readyClients
array after each test
Implemented socket.io rooms
* on clientReady, get all the clients connected to the main socket and
create a new room
* iterate through, if client id matches with readyClients array, make
client join room
* emit 'beginGame' to newly created room, kicking off client game init
* failing test for createRooms -- needs refactor
Fixed bug where multiple rooms weren't creating
* Empty the array of readyClients once a room is created
Refactor & test room creation
* broke clientReady serverside anon callback into several named fxns
* passing tests for createRoom, getRoomName, and resetReadyClients
Extract socket event callbacks into named functions
* replaced var self = this with .bind() calls
* app.init is now the entry point for server side application
Use io.sockets.clients() instead of keeping track with this.allClients
* doesn't seem like a smart idea to try and keep track of them when
io.sockets comes with that out of the box. b
* decided it would wiser to implement a getter function that returns
all client ids. we can pass this array around instead of the super
'heavy' array that io.sockets.clients() returns
Refactor tests to reflect removal of allClients array
Enforce single responsibility in server/app.js
* pull calls to resetReadyClients & emitBeginGame out of
joinClientsToRoom() and into the readyClients callback
Merge pull request #18 from salarkhan/rooms

implement socket.io rooms