Simplify and improve quadratic answer regexes

I fixed a bug where it would accept answers with missing + signs and made it so that the regex never contains \s*\s*.

Test Plan:
Same as 66a5ed8e156d65f3ec3b779c4957a0c6991b85f3 but also tested seed 33 with the answer (−85x)(x−3) and it correctly rejected it.

Auditors: eater, cbhl