Rename BooleanAlgebra[A] to Bool[A], and other cleanup.

In addition to the rename (to be consistent with Heyting[A] and
potentially other algebras as well) this commit cleans up the
inheritance from Heyting to Bool, and adds the correct ops/syntax
for both.