upgrade: Use `improvement` subclasses everywhere, not instances
This changes the source definition of optimizations to match that of formats:
a subclass with a decorator, instead of an instance passed to a function call.
Not having any instance removes the confusion between class attributes and
instance attributes, which were used interchangeably.
Differential Revision: https://phab.mercurial-scm.org/D10768
#require docutils gettext
Error: the current ro localization has some rst defects exposed by
moving pager to core. These two warnings about references are expected
until the localization is corrected.
$ $TESTDIR/check-gendoc ro
checking for parse errors
gendoc.txt:58: (WARNING/2) Inline interpreted text or phrase reference start-string without end-string.
gendoc.txt:58: (WARNING/2) Inline interpreted text or phrase reference start-string without end-string.