Added zipWith to HList
Merge pull request #83 from stacycurl/zipWith

Added zipWith to HList
Added discriminated unions.
Added labelled generic for sealed traits.
Major refactoring of (Labelled)Generic and TypeClass.
Merge branch 'master' into scala-2.11.x
Merge branch 'topic/discriminated-unions'
Merge branch 'master' into scala-2.11.x

Conflicts:
	core/src/main/scala/shapeless/generic.scala
	core/src/main/scala/shapeless/typeclass.scala
	core/src/test/scala/shapeless/typeclass.scala