Proxied calls to server that modify database state to fire events to registered listeners, to indicate data has changed.
To indicate a server method modifies state, tag the method with the attribute @Modifier(type=XXX), where XXX is one of VARIANT, VARIANT_COMMENT, COHORT, PATIENT, REGIONSET, ONTOLOGY (see org.ut.bioloab.medsavant.shared.util.ModificationType).
To register a listener to be notified when a method that modifies server state returns, use CacheController.addListener(myListener), where myListener is of type Listener<ModificationType>.
Update events are delayed by 500ms, and fire a maximum of once every 500ms for each ModificationType.
All events fire once every 15 minutes regardless of activity.

Fixes issues #204, #174
Merge branch 'master' of https://github.com/compbio-UofT/medsavant

Conflicts:
	MedSavantClient/src/main/java/org/ut/biolab/medsavant/client/view/dialog/IndividualSelector.java
Fix small bug resulting from merge