Test for get_parent across branches

TNL-1012

This test found a bug which I fixed and, while fixing it, I also reduced some of the lms computation by limiting the scope of its inheritance computation. I also found another bug which I labeled.

I still need to test an xml course which is not a tree to ensure it doesn't break. I'll do that in a separate PR. My gut on that is to create the xml non-tree course, check that 

* `get_path_to_location` or something like that works (doesn't barf),
* check that each parent can get to the shared child via its children field

import the xml course into both mongo and split, rerun the test on each. I know the split one will fail. I'm still not sure that it shouldn't, but...

@jimabramson @cahrens pls review. 
One thing I noted but can rationalize is that if above I fetch the child before moving it and call `get_parent` on it, then, here, if I use the same child object, `get_parent` returns the wrong parent. It returns the same value as it did on the first call. I can rationalize that by the std, you-need-to-refetch-the-object-from-the-transaction to get transaction changes logic.