Fixed bug: PHI inst for non-tail IFs.

There was a serious bug in the emission of Phi nodes. The
problem was that I was using brand new llbuilder's to emit
each of the two branches of the if. If the If was not in tail
position, then its result was going to be used by something else.
This 'something else' was being emitted with the original llbuilder
that had been passed to emit the If. One can see how this will
make the 'something else' to be emitted in one of the branches
of the If, producing completely broken LLVM code (llc would
reject it).

To solve this problem, I rewrote Emit to use a global llbuilder
for everything. Fairly extensive, but straightforward changes.

I also added a test case (test/array-init.ml) that I used to
find this bug.

Also note that right now the compiler emits valid LLVM (in the
sense that llc can compile it) for the file min-rt/min-rt.ml,
a fairly long min-caml program. We still have to check if the
generated code is correct, but this is an encouraging sign.