Changes feeds now correctly handle role changes

If a user is granted a new role, and that role grants access to new
channels, then the next call to the changes feed should return all
sequences in those newly-added channels.
This required changing the structure of a user document to store the
dynamic channel list as a TimedSet instead of an array of strings, so
the user knows when it was added to each role.
Remember timing of user role changes via admin API

That way the changes feed will backfill the newly available channels.
Graceful migration of old user admin_roles property
changeCache: Fixed a logic error adding sequences to channel's cache

In some cases (mostly if the query had a limit) the results from the view
wouldn't get correctly merged into the channelCache's existing logs.