Test and improve error handling

I added test cases to exercise the error handling paths which don't
cause the build to halt.  I also manually exercised some of the halting
cases as well.

I improved some error handling code as part of this update as well:
* There were several cases where error messages would be displayed in
  both passes.  I added code to restrict the error messages to pass 2.
* Modified createLabelSymbolIfNeeded (line 4300) function to properly
  initialize labelIndex (LI%) to -1 if there is no label for this line.
* isAbsoluteOrZeropageIndexedIndirect() would previosly accept 20,(X).
  I fixed conditional to correct that.
* Updated handleIndirectIndexed() to error out if expression isn't in
  the zeropage as required for this addressing mode.
* handleEQU() now only evaluates the expression in both passes and
  suppresses the rest of its operation in pass 2 since the symbol
  table entry was already properly setup in pass 1.
* handleSAV() now makes sure that it was provided with an operand.