Add CodeCheck and CodeCheckVisitor for visitor based checks, adapt test bases
Migrate ForbiddenFunctionsCheck to CodeCheckVisitor
Migrate ForbiddenPHPFunctionsCheck to CodeCheckVisitor
Migrate VIPRestrictedClassesCheck to CodeCheckVisitor
Migrate VIPRestrictedCommandsCheck to CodeCheckVisitor, and update tests accordingly