Catalog: calculate diff and unread count

Works pretty well even for being so hacky.
IndexedDB raw isn't _that_ bad, though could obviously
use a Promise makeover.

TODO slider to choose base version of diff instead
of always using last.