Start of coproduct, but no special instances yet

Signed-off-by: Ricky Elrod <ricky@elrod.me>
HUGE rename. PureIO(T) -> PureConsoleIO(T)

Signed-off-by: Ricky Elrod <ricky@elrod.me>