Some simlifications of algorithm and correct testes.
Not report left recursion if some rules in possible recursion path not exist.

As pass can be combined with other passes by the end user, we shan't assume that AST will be correct.