get current hash and branch (closes #23) and lots of other cool things

- git rev-parse allows retrieving git hash, branch name, current working folder, etc
- don't call done on unit tests until we're actually done
- run JSHint on every build
- move some methods that weren't using the vinyl-fs files to just be methods
- callback is required
- options is optional
- update README and examples to match