Log in via command line
Standardized login code
Users can not log in twice anymore
Added start of submission
Added the Bulletin class and added it to Competition; Competition now
has UIDProvider in order to manage UIDs.
CompetitionEventHandler now has BULLETIN_ADDED and BULLETIN_REMOVED.
Useless ProblemSet commit (whitespace error); ProblemSubmission now
obtains its ID from Competition rather than a constant and
ProblemSubmissionInfo has been reflected to show this.
Added the BulletinInfo class, which represents the Bulletin client
version.
Added .getAssocProblems() to Bulletin.
Added BulletinInfo to CompetitionInfo, added the CompetitionChangeAction
for it, and added the handlers for the BULLETIN_ADDED/BULLETIN_REMOVED
events. Bulletins are now _implemented_ except for CompetitionInfo event
calling.
Added the BULLETIN_ADDED/BULLETIN_REMOVED events to CompetitionInfo.
CompetitionInfo now calls these events.
CompetitionInfo properly fetches Bulletin objects when created from a
Competition.
Bulletins can only be created by the new Competition function
.createBulletin() and removed by a remove function; there are no more
add functions.
Removed debug code.
Merge pull request #74 from blacksmithgu/bulletin

Bulletin Finished
Expanded on staging; started chat
AttributeList can now hold non serializable Objects - however, on Serialization, these attributes are discarded.
Added a number of metadata changes in ClientChatEventHandler in order to make events more informative.
Merge pull request #75 from blacksmithgu/dev

Taking needed upstream changes.
Updated EventArgs and EventHandler to also tag the event args with the event that called it - now, an event receiver can also register to all events.