Add Test to ensure combiners are called

Adding this test required adding few methods to Marker
including children_markers to return a marker's child Marker instances
even if the marker only has ids in it's children property.
Marker.get_multi to fetch markers by a list of ids.
_persist_whole_graph for testing purposes to save a whole marker tree without
needing to go through the update_done process on each.
marker.is_leaf to detect if the marker is a leaf.
_list_of_leaf_markers to load a list of leaf markers in the marker tree.
Test for each of these methods.
Finally changes to marker.update_done to pass test, a major part of
it being if a leaf is replaced with a sub-tree, the correct combiner must
be used.