Add checks for parent-child range boundaries

Adds checks to make sure that child features are contained within their parent feature. Please review this code as unrelated tests had to be adjusted to make sure they trigger their intended purpose (e.g. some cycle and multi-feature checks also triggered the containment tests due to their choice of test input). Closes #187.