Verify that test byte queue empty at end of pass.

I added code which would verify that the queue used for the
verification test bytes is empty at the end of pass 2.  If it is not
then it means that some of the final bytes the tester wanted to test
weren't even emitted by the assembler.

Also fixed bugs that were encountered continued testing:
* If a symbol reference encountered in an operand field isn't found
  during the second pass then it should throw an error and default to
  the same value as was used in the first pass (256) so that a halting
  phase error doesn't occur.
* I was missing a NEXT statement in findSymbol() so that the code
  wasn't even searching through the complete list of symbols (just
  the first one.)
* There were multiple places in the code where I had logic like this to
  extract the lower bits from an integer:
    E% = E% - (E%/256) *256
  The division in this operation would actually return a float and
  therefore requires an INT cast to perform as expected:
    E% = E% - INT(E%/256) *256
* isAbsoluteOrZeropage() wasn't incorrectly using the CP$ variable
  name for the 'comma' variable from the pseudocode.  It should have
  been CP%.
* I added more tests to validate that the line field (label, operator,
  etc) works with all of the possible combination of field existence.
* I added tests to validate that the label functionality was working.
  This included detecting duplicates, non-existent labels, and forward
  references.
* Also tested a few more of the addressing modes for ADC but not all of
  them yet.  The ones I added were to just kill two birds with one
  stone as I tested other features.
* I commented out the SAV line at the end of the assembly source so
  that each test run wouldn't spin up the floppy drive and wait for
  the test data to be written.