Quick sketch of `DecodeJson` generation.
Added coproduct generics
Add specs for auto codecs in nested cases

Also showcase how shapeless's implicits might be a bit
underpowered when faced with several layers.