Gave the various group classes comparison operators that only work on values of
the same type
Added a `conjugate` method to BasicGroup.hpp
`Group` now subclasses rather than specializing basic_group<Element>, partly in
preparation for implementing subgroups, mostly so that I don't have to define
`conjugate` twice