don't be too restrictive for can_enter_jit
Nicer printing in jit, fix assert in Block, make _invoke there method level (cf. Primitive)
fix jit test and add recursive (does not produce trace yet)
Add jit hints

 * allow Jit to look into certain methods (@jit.unroll_safe)
 * make pure functions (ie, only dependend on argument) elidable (@jit.elidable)
 * mark fields that are immutable
 * Promote certain objects (ask cfbolz, he'll say "read the paper" ;))