The goal of this commit is to allow namespaces that support multiple
nodes per name to also have the name resolve to those multiple nodes
in the revset. For example, the "topics" namespace seems to be a
natural candidate for this (I don't know if the extension's maintainer
agrees). I view a topic as having multiple nodes and I would therefore
expect hg log -r my-topic to list all those nodes. Note that the
topics extension already supports multiple nodes per name, but we
don't expose that to the user in a consistent way (each namespace has
to define its own revset).
This commit adds an option to namespaces to indicate that `hg log -r
<name in the namespace>` and similar should resolve to the nodes that
the namespace says and not just the highest revnum among them.
Marked (API) because I repurposed singlenode() to nodes().
Note: I think branches should also resolve to multiple nodes (so
e.g. hg log -r stable lists all nodes on stable), but it's obviously
too late to change that now (and perhaps BC is the reason it even
behaves the way it does). I also realize that any namespace that were
to use the new mechanism would be inconsistent with how branches
work. I think the convenience and intuitiveness outweighs the cost of
that inconsistency.