fixes #735: add getTokensBefore, getTokensAfter, getTokensFirst, and getTokensLast interfaces

Fixes #735. Once this is merged, I'll be able to change the rules to make use of these interfaces and see the performance gain. Rules that make use of `getTokens`:

* `brace-style`
* `new-parens`
* `no-comma-dangle`
* `no-cond-assign`
* `no-div-regex`
* `no-empty-class`
* `no-extra-parens`
* `no-regex-spaces`
* `no-spaced-func`
* `no-wrap-func`
* `semi`
* `space-in-brackets`
* `space-infix-ops`
* `space-return-throw-case`
* `space-unary-word-ops`
* `wrap-iife`
* `wrap-regex`

Does anyone know how I can make eslint-tester use the eslint repo it's contained within instead of the latest from npm? I know @nzakas was running into this same problem before.