Added argument passing to batch.push

I got annoyed having to constantly create anonymous functions to create thunks for everything, so this adds argument passing for a more concise api.

This
```js
ids.forEach(function(id) {
  batch.push(function(done) {
     User.get(id, done);
  }
});
```

Becomes:

```js
ids.forEach(function(id) {
  batch.push(id, User.get);
});
```

I'm happy to add versioning to the PR if that helps (sem var bump, changelog, package.json/component.json updates).

Let me know @visionmedia