ExporterInterface & ExporterBase and refactoring of field wrappers.

A new ExporterInterface and it's default implementation ExporterBase.
The __construct() now takes the mapping as argument instead of the
contact object.

All field wrappers access the contact objects exclusively via the
exporter object. So it's possible to the exchange the contact object
(ExporterInterface::setContact()) and reuse the exporter object for
multiple contacts.

All field wrappers must implement the ExporterMapperInterface.

All CampaignionContactExporter classes have been modified to inherit
from ExporterBase.
Interface for importing / exporting contacts.
fix typo.
temp