[Configure] make --no-optimize and --no-debug work

These options are mentioned in the --help output but do not work
Fix merging of inline table entries.

Need to add offsets to return address deopt location, locals, and
lexicals.
Improve deopt debug fprintfs.
Rename to ensure it's clear guards relate to args.

This will contrast them with log-based guards.
Keep a table of added log-based guards.

Not updated with usages or used for anything yet; just initialized.
Copy log guard when computing dependent facts.
Add simple guard use analysis

Not perfect, but an over-approximation, to start with: if we ever ask
for the fact, then consider it used.
Remember to copy log_guard with facts.
Eliminate unused guards.
Update uthash to latest version
Correct computation of lexical vivifications.

The original code relied on the now-fixed bug with merging inline
tables.
MVM_nativecall_cast added

MVM_nativecall_cast has been added which provides casting an
OpaquePointer to any type we want. It makes us able to unpack things
conditionally.
fix bogus declaration (copy&pasto)
add box target parameter to nativecallcast

This op now gets a param that says something about the bit size we are
going to read, and also the type we wanna box into. The latter will be
either of Int/Num/Str, when the former is int8/int16/...
Merge pull request #109 from carbin/no-moar

[Configure] make --no-optimize and --no-debug work
Fix OSR issues when we didn't reach finalize.

Harden the logging increment check to make sure it never logs too
much; this is more robust than the exit counter. If we are leaving
an OSR'd frame without doing enough iterations, complete optimization
anyway, since we know it's hot; this as a side-effect also avoids a
number of potential races with bad behavior. nwc10++ for helping to
track this one down.
Fix use-after-free bug with thread entry callsite.

A no-arg callsite always looks the same and is immutable; there is no
reason to set a separate one up per thread, which can cause lifetime
issues. Found thanks to ASAN and nwc10++.
Cope with cross-deopt-point usage analysis.

If a register gets used after a deopt point, give its usage an extra
bump. This means we won't kill a write to it when doing dead code
elimination. Even if we don't actually read it later in the optimized
code, we still need things set up right for if we deopt. This extra
care will allow us to be a little more aggresive in decrementing usage
in various other situations.
Fix 'elimiante' typo in several places
give ContainerSpec a spesh function, use it for decont.