Initial cleanup

- cleaned up package.json dependencies and devDependencies
- switched from underscore to lodash
- switched from nodeunit + assert, to mocha + chai
- massive formatting cleanups
- added new tests
    - fixed a number of bugs in the process
- added travis yml configuration