Add Testing / Linting as well as gracefully handle users with no git config

Currently we have no tests or linting happening in the repo.  I added basic testing via tape and basic linting / rules via eslint.  I have also added a travis.yml to make it very simple to track when things break. I also added badges to the readme for Travis and David DM.

This pull request also includes a fix to handle users who do not have their git config set up.  Those users would all generate the same chasum.  Now they generate unique ones!