Mode 1912 - Updated the logic behind mixin removal

When a mixin is removed from a node, all protected properties that are coming from that mixin will be removed as well.

However, this brought up a new issue: in the case of `mix:versionable`, even though the properties are removed, the entire version history & lineage remain. Therefore, a code-update was needed in the versioning logic, so that if `mix:versionable` is removed on a node and then later on re-added, the original references towards the version history, base version etc are re-constructed.