Refactor Transaction and Dataset into DatastoreRequester

Might be missing documentation in a few areas because I wanted to get the structural changes out first before we refine it.

Separates the request logic out from Dataset and Transaction into a `DatastoreRequester` which probably isn't the best name but can be refactored as well. Feel free to send suggestions.
https://github.com/GoogleCloudPlatform/gcloud-node/blob/master/lib/datastore/dataset.js#L73-74 be sure to add these in (with the correct module), plus any other documentation you may think is helpful.