Fix errors in parser

* Argument of 'ether proto <proto>' and 'ip proto <proto>' could be escaped, i.e, "ip proto \arp".
* Function 'parse_optional_int' should return table with token and optional int.
If this returns true, probably only a string is valid afterwards