Remove worker/wrapper distiction in DataCon's

worker/wrapper is GHC specific, should be removed as we translate
from GHC Core to CLaSH Core.
Add support for type-classes that get more than 1 type argument
Add example using Arrows