Add typevar scope handling for MoarVM.

Uses op that indicates that the value is invariant with regards to the
invocant type.
On Parrot and JVM, for now typevar means lexical.
Start marking $?CLASS lookup with typevar scope.
One more place we can use typevar, not lexical.

This benefits !cursor_start, meaning that all the attribute accesses
in it are now lowered to pointer operations. Le JIT will like this -
once it can handle other things inside !cursor_start, anyway.
Merge branch 'typevaropt'
Bump MOAR_REVISION for inline/deopt fixes.
Add cleardispatcher op for all backends.

Provides a way to clear the dispatcher, rather than taking it. Leads to
simpler code when an optimzier can emit it. MoarVM and JVM patches known
to build fine; wasn't able to build Parrot, but should be right.
Ensure we decont into a fresh register.

In cases where we actually get a register that is persistent (such as
holding a local that a lexical was lowered into), we should not go
and ruin the variable.
Merge branch 'master' of github.com:perl6/nqp into nativecast