Check method can compile before rooting (#729)
* Check if a method should be skipped from compilation, and if so, do not root it.
* Harden various signature nodes against type system exceptions
Use existing validation API in CompilerTypeSystemContext to validate types on the various signature-emitting nodes: if it throws a
TypeSystem exception due to a malformed type/method, the exception will propagate, get handled, and cause the current
method being compiled to abort and be skipped (otherwise, the compiler will crash while emitting these problematic signatures)