add guppy to gulpfile.js

- add jshint to pre-commit stream
- initialize guppy tasks
end stream when nothing is staged
handle errors and exit code

- wait until stream end to throw errors
  (this probably needs work)
- use PluginError to stay gulpy
- sane process exiting with proper exit code to signal git