Second partial fix for rescan/invalidation logic + deletions.

See #303. This commit fixes the case where we have a deletion on a table that
does not appear in the RHS of any rules. Since the table does not get a scanner,
the previous coding neglected to compute an invalidation/rescan scheme for this
collection.

A possible fix would be to move the necessary invalidation/rescan state from the
scanner to the collection itself. However, this is complicated -- a single
collection might have multiple scanners with different rescan requirements, for
example. For now, it seems simpler (but possibly uglier) to create a separate
list of "orphan scanners" -- i.e., scanners for collections that appear in at
least one rule LHS but no RHSs. We basically consider these scanners like normal
when computing the rescan/invalidation scheme -- but naturally we don't need to
consider them during the fixpoint computation.