Changing schema to store string parent_id and ancestor_ids, instead off object pointer parent and parents

This:
* Makes nodes serializable, which prevents all sorts of server instability and unexpected issues 
* Means parent dereferencing is slightly slower, but that only happens currently in coachreports--where the ID is all that was desired anyway.

Should be good to go, @rtibbles !