Instead of polling for all the requirements every time isEnded() is called cuts back to only polling for new users when it's most necessary: if a game would otherwise end due to all users voting.
Merge team9dev into stabilizeUserPolling
Fixes endDate not being set when game is ended.

Author: nfbrown
Merge pull request #158 from dbeckwith/stabilizeUserPolling

Stabilize user polling