a small assign-related todo
incorporates a prettyprinting fix from scalameta/scalameta
ensugars functions and tuples
some cleanup in converter
clears some already resolved todos
ensugars eta expansions
incorporates a prettyprinting fix from scalameta/scalameta
some methods are moved to implicit classes
ensugars infix patterns
incorporates a prettyprinting fix from scalameta/scalameta
incorporates a prettyprinting fix from scalameta/scalameta
ensugars constant folding
incorporates a prettyprinting fix from scalameta/scalameta
eq and ne are now considered to be infix
ValParam should only be emitted if the field is not a var :D
adds a forgotten duplicate
ensugars assignments: wow that's a MESS!!!

There are 5 different desugarings related to assignments:
1) foo.x = rhs
2) foo.bar(y) = rhs
3) x += rhs
4) foo.x += rhs
5) foo.bar(y) += rhs

Moreover, depending on stability of foo and y, 4 and 5 might spawn
alternative desugarings that involve temporary variables

What makes things worse is the fact that the corresponding ensugarings
don't have adequate mapping onto Scala ASTs. Therefore, I had to move
their handling from Ensugar to Host, which made things more complicated
that I'd want.
fixes handling of classtag extractors
unifies handling of block-level desugarings
attempts to fix handling of eta expansions with unstable components