Clean up jit invalidation with replaced and continued blocks

Also, writes breakpoints when linking block exits so the jit compare isn't confusing.

Continuing helps in some cases and really cuts down on tiny blocks, but it also makes some things slower.  I think it just needs (much) better heuristics.

-[Unknown]