split boolify_iter into two ops, for hash and array.
waste one less bit in facts bitfield
boolify_iter_hash and _arr in the jit, too.
Neither iterating over a hash or an array is certain

In other words, I was wrong about the two being mutually
exclusive, since neither of them may actually be set.
This still fails a few spectests, though.
jit gcd_I, too. should make much more rat computation work
Merge branch 'split_iter_boolification'

With this, we get three ops for boolifying iterators:
one for array iterators, one for hash iterators and one in case we don't
know for sure.
can jit curcode.
jit bool_I
Sketch out profiler log structures.
Get profiler data structures into the build.
Toss previous basic profiler support work.

Will replace it with always-available system based on bytecode
instrumentation.
Stub profiler logging ops.
Add a way to get a spesh graph CFG only.

We don't need it in SSA form just to add profiling instructions.
Add "instrumentation level".

This will be used to ensure instrumentation is added as needed.
Add start/end profiling mechanism.
Add basic instrumentation.

Does not yet take into account spesh or inlining.
Install new headers.
Start basic profile logging.
Don't replace all graph root.
Basic dumping of profile data.

Also calculates exclusive times.