core: clarify/fix the code dealing with horizontal ordering wrt to cpusets

Always order objects on a level based on the complete_cpuset.
The cpuset can get unordered because of disallowed/offline PUs.
For instance 0x1111<0x2222 can become 0x1100>0x2220 if 3 PUs
are disallowed.

When comparing, use complete_cpuset if available (always correct order)
or fallback to cpuset (should be correctly ordered during early discovery
when complete_cpuset isn't initialized yet).

This fixed some overzealous debug assertions/warnings added in v1.8.

This commit fixes #105.
tests/linux: test to check the correct ordering of objects wrt linux cgroup

The old 16em64t-4s2cu2c was wrongly named and didn't bring much,
so just rename it properly and restrict some PUs.