Adding in rule for irregular whitespace checking. fixes #1024

@nzakas yes from what I can see, are you happy for that change to happen so long as all the tests pass? As mentioned earlier this is what caused the mismatch of strings and the parsing of content.

Just noticed your comment on mine again sorry about that.

So the reason I'm 'getting a wrong line number' as I called it is that esprima/eslint internals is giving me the right line number however with just the `/\r?\n/` matching that is seen in other rules was not matching up with the line number of string nodes in [Line 30](https://github.com/eslint/eslint/pull/1313/files#diff-ebe921e2417aed6e709cdbacb3707f94R30).

Due to the line endings listed being valid line endings something (which I keep calling Esprima however could be any of the Eslint internals) however the `getSourceLines()` only matches against `/\r?\n/` which means any code that is trying to marry up the line numbers of nodes could be incorrect (realistically it will only be rules like this one that could ever be wrong).

So I think the solution is to change: `currentTextLines = currentText.split(/\r?\n/g);` in `lib/eslint.js` to `currentTextLines = currentText.split(/(\r?\n|\u2028|\u2029)/g);` then this rule can be changed to use `getSourceLines()`.