Coproduct codec cleanup and auto coproduct generation
Merge branch 'master' into topic/shapeless-2.1

Conflicts:
	src/main/scala/scodec/codecs/CoproductCodec.scala