Refactor/overhaul to use Highland streams and clean some things up.

- Refactors both filename collection and file stubbification to use Highland streams
  - Drops `bylines` dependency (and use of `stream` module), adds `highland` dependency
  - Sourcing Highland from its repo until a (relevant) recent patch is published to NPM
- Preserves trailing newlines in stubbified files (were previously dropped/added inconsistently in different cases)
- Consistently names delimiter regex variables throughout (beginStub, endStub)
- Defaults the delimiter regexes top-down instead of bottom-up
  - This reduces redundant checks and follows IoC style
- Keeps track of filenames that get stubbified
- Prints stubbified filenames with destination paths, with silent flag to disable
- Prefers closures to objects for encapsulation when objects are unnecessary
  - Specifically Parser, since it no longer needs to inherit from Transform
- DRYs up parser tests
- Refactors stubbify tests to allow testing on multiple files
- Adds stubbify tests for nested stubs and for no stubs
- Moves everything but cli.js into /lib
- Updates README with usage and details

The refactor helped readability a lot, especially in the tests; despite various small additions, lines are -7 overall (before incorporating the additional tests), much thanks to Highland.
The bottom part of https://github.com/eslint/eslint/blob/3f86d6bc1b0bf4e3be10ecadf62ee3731ee9b410/docs/configuring/README.md#configuring-rules seems to suggest the space on the right without the space on the left.