Add a better operator whitespace sniff.

In particular, this one handles the ternary and concatenation operators. It also disallows extra space before assignment operators and cleans up handling of multi-line arithmetic expressions.