Limit excess serial data fetching
Overfetching and duplication of data in the interface is both
inefficient and bug-inducing. This reduces a couple big offenders.
First, in the items tab, we will store distribution and subscription
data separately, rather than duplicating for every row. Second, we
will only redraw rows as needed rather than refresh the whole list so
often. Finally, we no longer need to lookup call numbers separately,
as they are included in the one-time distribution fetch.
Signed-off-by: Dan Wells <dbw2@calvin.edu>