Major overhaul as we begin to close on the first release. Cleanup the public APIs so we don't expose the entire object system to the public. Begin cleanup of the internal code. Note that we need to link against an installed version of hwloc in order to pass topology info, so we'll need to bring the buffer_ops support in for that if/when hwloc is added.

Just a checkpoint for now so others can see the revisions - not everything compiles yet.