push: output when non-pushable commits exist
This is an area where we have no choice but diverging from stock Mercurial, as Git does not allow anonymous heads. We can only push something that has either a bookmark or a tag.
In order to lessen confusion for users, we output a message inspired by Mercurial's (ignoring %d secret commits) — which serves a similar purpose.
I tested the revset with a repository that has ~100k commits, and it seems to finish in about a second on my Mac.
Fixes #293 (closed)