call SUPER method later and in one place

would allow us to inject %ARGS checking after
existing sanity checks
deprecate Groups.Type column

Groups records were using either Name or Type, actually only
user defined groups were using Name.

We deprecate Type in favor of Name, but keep it in DB for 4.2
and remove in 4.4. Attempts to read Type, set Type, search by
Type throw deprecation warning, but still work. Also, Type and
Name are kept equal.
Move backcompat files to code, for greater flexibility

The existing back-compat format was limited to one style of
code-vs-database incompatibility.  Move to code which is wrapped around
every upgrade in its series, to allow for arbitrary other types of
alterations.
we have to set Name = Type earlier for upgrade

If we don't new code may fail during upgrade
Merge branch '4.2/deprecate-type-column-in-groups'