Make core_lint also run before optimizations during testing
Check for more return mismatches

All expressions but calls and primops are now checked for return mismatches.
Handle return mismatches for calls and primops

Only exit BIFs and the match_fail primop are allowed to run where more than one
value is expected.
Remove obsolete comment in core_lint