fixes #333: add rule to disallow gratuitously parenthesised expressions

Fixes #333. This includes https://github.com/michaelficarra/eslint/commit/06c43726b936d9bf796f15e3358ff73d928f0bf8, which changes the second and third parameters of `getTokens` to operate on tokens instead of characters, which is a much more useful interface, and necessary for some rules, including this one. Still working on documentation and some minor cleanup, but I wanted to open this up for discussion.