Fix bug in setting start position of tokens

Brainfarts can be very frustrating.
Add start and end positions to output of print_tok
Fix bug in assembler

Scanner data wasn't being reset between pass1 and pass2, which lead
to some odd results. E.g., line count being higher than it should be.
Fix bug in assembler

Scanner data wasn't being reset between pass1 and pass2, which lead
to some odd results. E.g., line count being higher than it should be.