Improves Parser Methodology

* The parser now takes into consideration the number of referencable types
  and will ignore results from a parser with no items that match the types table.
* To save a bit of CPU, parsers used before will not be used for later iterations.
  Always move forward.
* A message will be displayed when the heuristic parser is enabled.