Add format options

Add a format option to get any git-log information from the history tree.

I need this to get more info from a git history log. It allows the user to customize the format of information, and the structure of the commit object.

### option.format

Accepts a object with git log format strings, and optional nested objects. The resulting commit on each `data` event is built exactly like this object.

Contrived example:
``` javascript
var options = {}
options.format = {
  sha: '%H'
, author: '%an'
, some: {
    nested: {
      info: '%ad'
    }
}
}
```

I wrote a test to make sure the default option is still the same, and another to test the customized format.