Fixing Issue #58 (WIP)

In node, callbacks should always take an `error` argument first, then data on the second arg.  If you want to return data without an error, use `callback(null, data)`, and all callers should inspect the first arg when processing the callback:

```js
foo(..., function callback(err, data) {
  if(err) {
    //deal with err case
  }
  // deal with data if no error
}
```