New features for paths

Here are some new features to allow people to find the path to root for any given item as well as to determine if one item contains another. With some tests, even. For #84
Maybe not with this method of checking. Presuming isArray checks for undefined, which it probably does.