Add Conniver with MergeCellAllocations pass

The Conniver is an optimizer that works on plan steps. This is intended
to work at a much lower level than the optimizer or the planner's
reportproc framework. The intent it to perform optimizations across
multiple planned expressions such as merging duplicate allocations or
removing redundant boxing.

The first conniver merges multiple cell allocations in to one call until
either a branch or GC barrier is reached. This is intended to reduce the
overhead of GC allocations and make the generated IR easier to follow.