verify: also check full manifest validity during verify runs
Before this changes, hg verify only checked if a manifest revision existed and
referenced the proper files. However it never checked the manifest revision
Mercurial is expecting manifest entries to be sorted and will crash otherwise.
Since hg verify did not attempted a full restoration of manifest entry, it
could ignore this kind of corruption.
This new check significantly increases the cost of a hg verify run. This
especially affects large repository not using sparse-revlog. For now, this is
hidden behind the --full experimental flag.