Remove a macro in favour of direct WorkspacePropertyExporter usage.

Refs #8996
Remove another macro in favour of a templated static class

Refs #8996
Remove another macro in a header in favour of template class

Refs #8996
Remove a pointless namespace declaration.

Refs #8996
An ugly cast for interfaces that don't inherit from DataItem.

Refs #8996
Merge branch 'feature/8996_python_dataitem_casting' into develop