Map object types are now opaque pointers in the public Map API

Publicly, DMU is a pure C API. Outsiders do not have visibility to
the type or contents of map objects via the pointers used in the Map
API.