prefetch: do not attempt to prefetch trees for non-public commits
This is a follow up to D1446. It extends the prefetch logic to not
download trees even for commits with secret phase. Also, it uses a better way
of dealing with revsets. Thanks @quark for this!
Test Plan: Ran all the tests.
Reviewers: #fbhgext, quark
Reviewed By: #fbhgext, quark
Differential Revision: https://phab.mercurial-scm.org/D1461