Introduce DataServiceExporter to reduce copy-and-paste code.

It is now used by the AnalysisDataService & PropertyManagerDataService
exports.
The new class ensures that the embedded shared_ptr is extracted
during the add* operations rather than boost.python creating a new
one with a custom deleter.
Refs #8304