[cs] Box pointers when cast into Dynamic
[cs] Add __arrptr__ for correct transformation of Lib.pointerOfArray
dump cl_init
TField might have side effects
move `optimize_unop` to its own function
add `alloc_unbound_var`
minor test fix
make sure TTry is nicely blockified
TField might also be complex
Merge pull request #3386 from Simn/ssa_prepare

SSA preparation
[cs] Transform cs.Pointer into abstract; Allow capturing pointers and using pointers in parameters
[java] Make Int64 behaviour more consistent. Closes #2752 . Closes #3203
[dce] check type features too and use IntMap.* on its h field
I am the beginning and the end to fix your control flow.
make sure the empty case block case is unified with Void (closes #3391)
disallow assigning to closures that are inline or have type parameters, and improve error message when trying to use inline closures as a value (closes #3385)
[java/cs] Ignore type parameters from cf.cf_params in TAnons
[java/cs] minor - use memq when comparing classes
[cs] fix Array.indexOf with startIndex greater than length, test it (let's hear from travis if only c# is affected)
[cs] only wrap method body in "unchecked" if it contains non-zero integer constants (see #2450)