Minor tweaks
Merge pull request #501 from kevva/minor-fixes

Minor tweaks
Revert: Uses null default instead of undefined.
Commit: 3b2c495464381a2288a72b21c36f6c4d5060dea6.
Merge pull request #502 from am11/master

Revert: Uses null default instead of undefined
Move coverage script to Makefile

Also includes some cleanup of unnecessary files in .gitignore which should belong
in a global .gitignore.
Merge pull request #503 from kevva/coverage

Move coverage script to Makefile
Run coverage programmatically
Merge pull request #508 from kevva/coverage-js

Run coverage programmatically
Revamp build steps

* Instead of providing the binaries with the package, it'll only download the
needed binary for the users system.
* Will only build if the tests fail.
* Move `build.js` into scripts since it's not part of the actual API.
* Move binaries to `vendor` folder to keep it separate from the rest of the code.

Fixes #504.
Merge pull request #509 from kevva/new-build

Revamp build steps
Submodules: Updated submodules. (#510)
* Additions in the binding.gyp.
* Updated CLI test for line endings.
* Updated Appveyor.yml as per @FeodorFitsner's
  suggestion.
Merge pull request #511 from am11/master

Submodules: Updated submodules (#510)
Fix `--watch` option for directories

Switches out `node-watch` for `gaze` since it's used more widely

Fixes #250 and #312.
Merge pull request #512 from kevva/watch

Fix `--watch` option for directories
Add tests for indented syntax and some tweaks
Merge pull request #514 from kevva/test-indented

Add tests for indented syntax and some tweaks
Add `.middleware()` test
Add ability to watch for files recursively
Merge pull request #515 from kevva/recursive-watch

Add ability to watch for files recursively
Install: Bind to specific binaries commit.