datastore: refactor transaction & datastore.

Hello again!

I rearranged a few things, hopefully for the better. I'll leave comments. :)
https://github.com/GoogleCloudPlatform/gcloud-node/pull/96#discussion_r15888078 - I had to use the `recursive` flag to dig into subdirectories.