When parsing a .hgignore file and encountering an include: line,
the included file is parsed recursively right then in a depth-first fashion.
With subinclude: however included files were parsed (recursively) much later.
This changes it to be expanded during parsing, like .hgignore.
The motivation for this is an upcoming changeset that needs to detect changes
in which files are ignored or not. The plan is to hash all ignore files while
they are being read, and store that hash in the dirstate (in v2 format).
In order to allow a potential alternative implementations to read that format,
the algorithm to compute that hash must be documented. Having a well-defined
depth-first ordering for the tree of (sub-)included files makes that easier.