fncache: drop dedicated 'onclose' function in favor of  'tr.addfinalize'

Now that we have a shiny generic mechanism, we can use it.

--HG--
extra : rebase_source : d77a65adc6afccc182fc0f8a3ebf19801d555a40
fncache: document the fact fncache is outdate at hook run time

Using 'addfinalize' to generate 'fncache' means that no pending version of the
file will be generated for the hooks. We would have to use the
'addfilegenerator' method to get such result. However the 'fncachevfs' (who
decide that a write is necessary) have no access to the transaction to register
such file generation at add time. Having the transaction accessible to the 'vfs'
is too much trouble for no benefit. This outdated 'fncache' file at hook time is
not expected to be an issue.

The previous move from 'onclose' to 'addfinalize' had no impact on this timing.
I'm documenting it now because I looked at it.

--HG--
extra : rebase_source : 470731243faf897e3d2f7a0dcf8c4efa4cc72b87
transaction: remove the redundant 'onclose' mechanism

It is superseded by the 'addfinalize' function and all its user have been
migrated.

--HG--
extra : rebase_source : ff91d8e2ffcf91418511d6488b867fd5e2ade58e
transaction: remove the 'onabort' mechanism

It has no known users. If someones needs similar functionality, a new 'addabort'
method similar to 'addfinalize' should be added.

--HG--
extra : rebase_source : d6e7dd385f6f275ee54221bfd834a785fa81a2d1
test-graft: use strip extension instead of mq extension

It only needs strip, no reason to load all of mq.

--HG--
extra : rebase_source : c9806cf73edd6358f54c11d5377fc7f24d55fa81