datastore: commit transactions after queueing modifcations
Merge pull request #316 from stephenplusplus/spp--datastore-commit-at-end

datastore: commit transactions after queueing modifications
correct doc typo - fixes #329
Bug fix: pubsub does not publish message data.

The official API documentation for `publish` endpoint requires `data` and `label` nested under `message` key. (see https://cloud.google.com/pubsub/v1beta1/topics/publish)

```json
{
  "topic": string,
  "message": {
    "data": bytes,
    "label": [
      {
        "key": string,
        "strValue": string,
        "numValue": long
      }
    ]
  }
}
```
common: throw error when missing credentials in non g[ac]e env
Updated test cases.
Merge pull request #330 from pilwon/patch-1

Bug fix: pubsub message's data and label fields missing in publishRaw().
Merge pull request #331 from stephenplusplus/spp--better-error-message

common: throw error when missing credentials in non g[ac]e env
storage: createReadStream: accept start/end offsets
add regression test