Fix for a specfic equation comparison bug + lots of lint fixes.

Mul.collect() already flattens before returning, so flattening again is bad.

Test Plan:
New test case.

Auditors: alpert
Add support for the unicode minus sign.

Test Plan:
New test cases.

Auditors: alpert