Revert "Use BFS to explore the parsing branches (instead of DFS)."

This reverts commit 33e4894e74c2440d0caf082e035924a2e22853cc.
Revert "Added representation for the parser configuration top state, which will
be used".

This reverts commit 2ae4b3e3a3f74138e4adcd012bc8ce4f31b6b599.
Fixed a bug in the subword parser where reduction with epsilon production were
incorrectly returned by getSuccessorActions().

I have also found out that the loop detection improvements commited in
ca7f435ace97cd2511bc59ffde03a8d043a98c3b were more than a mere simplification:
the previous algorithm was ***incorrect*** and did not always detect loops when
they exist.  It also could falsely detect a loop (although that is probably
somewhat uncommon occurrence).  The reason behind the bug is that the previous
algorithm did not respect the boundaries of the current parsing subtree and
took into account reductions from the subtree on the left of the current
subtree.