SymbolTable::detect_kind can be a static function
Improve type information for MatchData handling inside Regexp
Always initialize LLVM pass instance variables
Fix casting behavion VM tests

We prefer using our helpers such as as<>. Also removes typecasts for
cases where it's not necessary to add them.