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

These options are mentioned in the --help output but do not work
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++.
Merge remote-tracking branch 'origin/master' into moar-jit

Conflicts:
	Configure.pl
	lib/MAST/Ops.nqp
	src/core/ops.h