Add Heyting algebras; better Boolean/Heyting algebra tests.

This commit formalizes the laws for Boolean and Heyting algebras, and
generalizes the BooleanAlgebra operators to Heyting algebras. It does not
change any of the import names--this could be a future change.

It also cleans up many 2.11 test warnings due to unused imports.
I don't think this operator will work here, as `xor` doesn't exist in `Heyting` (macros hide this until you use the operator though).