Add support for look-ahead in GrammarRule.

jackcompiler/syntax/parser.py
	-Define an additional instance variable of `GrammarRule`,
	`_look_ahead`, which may or may not contain a look-ahead
	function. Allows `GrammarRules` to only execute if the token
	stream matches a rule, and thus resolves the problem that arises
	when two alternative token combinations share an identical first
	token (different first tokens would be elegantly handled by the
	existing system, but anything past that may be popped/raise
	a `ParserException`).

jackcompiler/syntax/tokenizer.py
	-Fix an incorrect regex for integer (would not match `0`).
Refactor look_ahead addition into function.

10_compiler_i_syntax_analysis/jackcompiler/syntax/parser.py
	-Refactor the addition of a look-ahead function to a
	`GrammarRule` from an argument passed to `__init__()` to a value
	set by `GrammarRule.look_ahead()`, which ties in more naturally
	with the existing chained-call syntax.