Refactor idioms hierarchy
Bugfix context resolving from instance
Refactor IdiomaticContext structure
Introduce Binding trait and Monad and SemiMonad shortcuts
Refactor shortcuts
Move from scala.idioms to scala.workflow
Rename Idiom.scala to workflow.scala
Provide monad instances for all current idiom instances
Rename IdiomaticContext to WorkflowContext
Pass binds along with rewriting brackets contents
Simplify binds handling
Typecheck with provided binds
Massively refactor binds extraction
Bugfix object instantiations type checking in rewrite function
Remove UTF glitch
Debug resolveLiftedType and typeCheck methods
Minor refactoring, rename some things
Temporarily disable some tests due to SI-7461
Generate output code all in one place
Simplify things a little bit