Argument-less overloads of zipWithKeys methods

Builds on https://github.com/milessabin/shapeless/pull/271 (whose commit is also in this PR)

Allows one to write
```scala
val c = Coproduct[Int :+: String :+: Boolean :+: CNil](23)
c.zipWithKeys[Literals.`'i, 's, 'b`.T]
val l = "a" :: 2 :: true :: HNil
l.zipWithKeys[Literals.`'s, 'i, 'b`.T]
```