revlog: split the `version` attribute into its two components

Authored by marmoute.


revlog: split the version attribute into its two components

The revlog.version attribute contained an integer coding 2 different informations:

  • the revlog version number
  • a bit field defining some specific feature of the revlog

We now explicitly store the two components independently. This avoid exposing
the implementation details all around the code and prepare for future revlog
version that would encode the information in a different way.

In the process we drop the version attribute from the interface. It was
flagged for removal when that interface was created.

Differential Revision: https://phab.mercurial-scm.org/D10565