Throw an exception if a type's mapping root node is not equal to the type in question.

Also, fix all the problems it brought up in tests.
Removed OverrideTypeMappingTests as it is no longer relevant.
Better naming for the default percolator mapping and change it's content use _default_ as root node.

Closes #4038