Fix: Adds clamping to getSource beforeCount (fixes #1427)

- Without the clamping in place, there is the possibility of passing
  negative values to string.slice and winding up with odd results.
Breaking: ignore node_modules by default (fixes #1163)
Docs: Explain .eslintignore features (fixes #1094)
Docs: Fix broken code fences in key-spacing docs
Merge pull request #1429 from greggian/fix-getsource-clamping

Fix ESlint.getSource() clamping
Merge pull request #1440 from btmills/key-spacing-docs

Docs: Fix broken code fences in key-spacing docs
Merge pull request #1438 from btmills/issue1094

Docs: Explain .eslintignore features (fixes #1094)
Merge remote-tracking branch 'upstream/master'