A neat assortment of non-breaking new stuff

Repo#sync no longer fails when there were no changes to 'stash' before pulling.

As well as the above, I've also added a remote_name argument to sync() that allows the specification of a remote - it no longer defaults to the use of 'origin'.

Newly added methods:
```js
Repo#remote_push(name, callback)
Repo#remote_remove(name, callback)
Repo#identity(callback)
Repo#identify(actor, callback)
```

Additionally, @drevilt has committed work to improve status parsing in `Repo#status` through the use of the `--porcelain` parameter - it'll now work regardless of the system language.

The versions of mocha and coffee-script have been bumped up in the package manifest, too. Travis appears to be happier with this.