User objects got re-saved on every load, due to a glitch

User.RoleNames_ wasn't getting persisted, for a couple of reasons.
Fixed race conditions in changes feed support

The WaitForRevision method was too simplistic and sometimes missed
changes. Created a new changeListener class that's smarter about
detecting Tap changes. (Fixes #88)