Add zipConst to HLists and tuples

**Example usage**

    scala> val l = 1 :: "a" :: true :: HNil
    l: shapeless.::[Int,shapeless.::[String,shapeless.::[Boolean,shapeless.HNil]]] = 1 :: a :: true :: HNil
    
    scala> l zipConst 5
    res0: shapeless.::[(Int, Int),shapeless.::[(String, Int),shapeless.::[(Boolean, Int),shapeless.HNil]]] = (1,5) :: (a,5) :: (true,5) :: HNil