Merge changes from topics 'query-refactor', 'kill-sortkey'

* changes:
  QueryProcessor: Don't double-add visibleto predicate
  Add query tests for visibleto predicate
  Terminate sortkey with prejudice
  Use secondary index for advertising extra haves during push
  OutputStreamQuery: Optimize formatter allocation
  Move stream-based QueryProcessor output to its own class
  Add QueryProcessor methods to search by Predicate
  Fix limit handling in QueryProcessor
  QueryChanges: Remove unused reverse field