treemanifest: stop storing full path for each item in manifest._lazydirs
This information is obtainable, if needed, based on the lazydirs key (which is
the entry name) and the manifest's `dir()` method.
### Performance
This is actually both a memory and a performance improvement, but it's likely to
be a very small one in most situations. In the pathological repo I've been using
for testing other performance work I've done recently, this reduced the time for
a rebase operation (rebasing two commits across a public-phase change that
touches a sibling of one of my tracked directories where the common parent is
massive (>>10k entries)):
#### Before
```
Time (mean ± σ): 4.059 s ± 0.121 s [User: 0.9 ms, System: 0.6 ms]
Range (min … max): 3.941 s … 4.352 s 10 runs
```
#### After
```
Time (mean ± σ): 3.707 s ± 0.060 s [User: 0.8 ms, System: 0.8 ms]
Range (min … max): 3.648 s … 3.818 s 10 runs
```
Differential Revision: https://phab.mercurial-scm.org/D9553
#require test-repo pylint hg10
Run pylint for known rules we care about.
-----------------------------------------
There should be no recorded failures; fix the codebase before introducing a
new check.
Current checks:
- W0102: no mutable default argument
$ touch $TESTTMP/fakerc
$ pylint --rcfile=$TESTTMP/fakerc --disable=all \
> --enable=W0102,C0321 \
> --reports=no \
> --ignore=thirdparty \
> mercurial hgdemandimport hgext hgext3rd | sed 's/\r$//'
Using config file *fakerc (glob) (?)
(?)
------------------------------------* (glob) (?)
Your code has been rated at 10.00/10* (glob) (?)
(?)