Reworked split and join permissions check to allow extra cases
like the skeleton being under the user's area,
and polish some areas, i.e. structuring checks from cheap to expensive.