Add Q Promises/A+ API to most async methods

Gremlin-node now supports either the standard callback-style API or a Promises/A+ API for most methods that take a callback argument. It was not necessary to introduce new methods, as Q makes it easy to use the callback style when a callback function is provided, or use the promise style when the callback function is omitted. 

See the unit tests for examples. All methods that can be called both ways are tested both ways.

The promises API enables some nice improvements in the gremlin console app, but those improvements are not included in this commit. For now, see the project [gremlin-repl](https://github.com/jimlloyd/gremlin-repl), which will likely be merged into this repository sometime soon.