Adding and removing works across webs.

Send and broadcast could very well work but I haven't tested yet.

Also fixed a few bugs in communicator classes and improved consistency.
Merge branch 'Milestone_1' of https://github.com/jslinker/CS340 into Milestone_1