Renaming

Originally it made some sense to use an arithmetic theme since we were tying
the Semigroup definition to Mul<_,_>. Since we moved away from that it makes
sense to adopt a more traditional list-based (free monoid) terminology.

SemigroupPowNonZero => SemigroupReplicate
op                  => app
product             => cat_one
pownz               => rep_one