Google Appengine Datastore Backend

Opening a pull request for issues: 
https://github.com/google/cayley/issues/178
&& partially
https://github.com/google/cayley/issues/144

I've finished the functionality for the appengine datastore backend and got it running again.

At the moment the go appengine SDK is still using go 1.2 and although i've been informed that change is coming, i've yet to hear anything concrete.  This means that i'm not using sync pools yet. 

I haven't had the chance to do any load testing yet such as the '30kmoviedata', this is due to the instability of goapp test, it falls over when you try and add more than 100 entities at a time (socket errors), i did the relevant optimizations to my machine but it's still not enough, I believe my unit tests cover enough for now.

So I'm in need of a code review.

If you want to test it:
`cd graph\gaedatastore`
`goapp test -logtostderr`

if you want to test the HTTP server with gaedatastore backend, then
`cd appengine\`
`goapp serve`