Fix scanner. Add scanner tests. Add itera to list::iterator. Add parser_exce.

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>