WIP make SPickler contravariant

Investigates #191.

It appears `SPickler` can indeed be made contravariant, at the price of implicit picklers for abstract collection types (`Seq[+A]`, `Iterable[+A]`, `LinearSeq[+A]`, `IndexedSeq[+A]`, etc.).