core: cleanup the insertion by cpuset API and error reporting
Our insert error reporting has never been very useful because it uses __LINE__ from the error location, not from where the caller performed the first insert call. Having a full backtrace would solve this (see #223) but it doesn't work very well.
We now pass a "reason" string identifying the call point (such as "linux:sysfs:package"). This removes the need for custom reporting error callbacks (only used for distances groups anyway).
There's now a single hwloc__insert_object_by_cpuset() function with root+reason (reason is mandatory) instead of one with root+callback and one without.
The plugin ABI is bumped to 7.
insert_object_by_parent() doesn't get a "reason" argument because it currently cannot fail. Hopefully we won't have to change the plugin ABI because of this anytime soon.