Correctly handle op assign

* Refeactor send emitter with "send index" specific subclasses
* Handle mlhs stuff and index sends correctly
Add emitter for defined? nodes
Handle newlines in segments of dynamic strings
Handle dynamic symbol (dsym) nodes
Use simpler macro in integration specs
Add emitter for preexe and postexe nodes
Correctly name brackets constant
Add emitter for pattern match in block args
Add support for emitting super and zsuper
Add break emitter
Add emitters for redo and retry
Add emitter for next nodes
Add if node emitter
Add emitter for alias
Add emitter for yield