compiler: Use descriptive trampoline symbol

Include the type of the trampoline in its symbol to disambiguate
multiple trampolines for the same symbol from each other
compiler: Test for typed recursive capturing procs

This test consists of a typed procedure that takes a value and the
returns typed recursive procedure returning that value. This also adds a
new (assert-raises) test helper to ensure an expression raises an
exception

This isn't testing anything in particular; it's just ensuring that a
number of tricky features interact properly in the same procedure.
compiler: Explicitly disallow procedure type preds

It's not possible to distinguish procedure types at runtime so building
predicates for them isn't something that can be done reliably. Fail
early with a clear error message instead of deep inside PlanTypeCheck
compiler: Fix misleading test name

The syntax for native function rest arguments has changed - it now
specifies the list member type. The reason <native-int64> can't be used
is that it's not a boxed (Scheme) type. Change the test name to reflect
this.