export: Factor out CMake-specific export generation (*/2)

In order to support generation of Common Package Specifications, the
mechanisms CMake uses to export package information need to be made more
abstract. This will involve substantial refactoring of the classes used
to generate the actual export files. In order to help git track what's
happening, create the new files as copies of the files that will serve
as their source material. The class names have been updated and
formatting repaired, but no other refactoring has been done, which
should still allow git to detect the copies.

This commit is a purely intermediate step that exists for no other
reason than to improve history tracking.
8 files changed