Add enough of Marker to pass one test

The staticmethod Marker.do_any_have_children checks a list
of Marker instances for ids in their children property.
It will now pass test_do_any_have_children, everything
else is WIP.
Change children property to a @property
Add Marker serialization tests and code to pass them

A Marker's children property can contain either ids or actual
Marker instances, but it would only ever have one or the other.
When a Marker graph is generated to split up a bunch of Asyncs
belonging to a Context, a root Marker will be returned with Markers
as children, but when a marker is created from an individual Async or
retrieved  from the persistence layer via Marker.get, children will be IDs.
Rename a method to be more explicit
Add tests for Marker.get_group_id
Add test of Marker and Marker graph persist

Using the default ndb persistence layer
Tests create Marker tree graphs and persist them
then attempt to load them, asserting their existence
or lack thereof. When a Marker tree graph is saved,
the leaf nodes are not saved.
Test also persist leaf nodes and then load them and
assert their existence and important properties.
Test for exception raising during illegal states to persist in.
Add code to pass tests except for
test_persist_tree_after_tasks_inserted which require a change
to Context that is forth coming.