Increase time limit to 120 seconds
Add ping/pong to keep connection alive
Mainly expose Chat instead of Connection service
Go through all cards instead of randomly selecting

We now have a CardPool class which abstracts away a deck of cards that
you can draw from. Right now we just store all the cards in memory and
shuffle there since performance isn't an issue yet.