Implement and test PCounter

SemigroupCrdt was a PCounter, so I've basically renamed it. Methods
takes typeclass implicits, not constructors. This is best practice
according to the Scalaz guys.