adds ClientConnected to User - should have been in previous commit
removes client Challenge - Application will just send raw json

challenge actions and events (accept, create, expired etc) are all
done through Application anyway so it doesn't make much sense for
the challenge object to have any behaviour.
changes server to send /challenge/expired with the id as data
adds methods and events to Application so that it handles all challenge behaviour
corrects references, args etc for challenge/game creation logic
updates ChallengeList widget and adds it to ui for testing