Refactored deserializer.

Split the impl into a raw deserializer, and one that takes its resulting tree to form Backed objects.
Quite a bit of movement making query/datastore generic.
This has turned into a disaster.

Types are flying around willy nilly, its not good. I think the cake pattern is a good fit for this job. That way Keys, and all sorts of stuff can be abstracted in one place.
STill a huge mess.
Now things are working again, except projections.
Compiles but some tests fail
Most things working besides projections.

Appengine does projections really strange.
Fixed projections

The path stack for projections needed to be reversed
Moved query impl into absctractdatasture.
Some general cleanup and refinements.