Optimized List pattern matching

All length heuristics used in the interpreter are now also available in
compile code. On micro-benchmarks compiled list matching is 5-7 times
faster than the interpreted version.