Fix broken identity in Sign, and add multiplicative monoid

Sign's identity is Positive, not Zero. Also, in addition to just
providing a generic monoid it's also friendly to provide a
multiplicative monoid, since that's how we usually think about
combining signs.