Features can now be loaded by version declarations without feature.pm
having to be loaded.
feature.pm is now a generated file. feature.h is a new file with mac-
ros to make this work. regen/feature.pl is a new script to generate
those two files.
A few hint bits are used to represent the current feature bundle. If
the ‘custom’ bundle is active, this means that the hint hash is used,
as before.
There is no longer any need for ‘negative’ features--those whose
entries in %^H turn them off. The only feature in that category was a
default feature. Now we use the default bundle in PL_hints, which is
indicated by 0 (see feature.h), so we don’t even have to set it.
feature.pm, when it sees bundle hints active, updates %^H to match
and then sets the current bundle to ‘custom’, before enabling or disa-
bling features.