Run has:draft and is:starred before secondary index

These properties are stored in the SQL database and cannot be answered
by the secondary index.  Instead of driving the search tree on the
secondary index, use HasDraftByPredicate or IsStarredByPredicate.
This avoids looking up every change in the database to see if the
target user has starred it or has a draft present.

Bug: issue 2160
Change-Id: I12d8fe3c041dcb3fbd0d5fd8eed8384fe6667ee2
3 files changed