Added tests for the rest of the directives.

Fixed a number of issues that these tests uncovered:
* I modified reserveMemoryForMachineCode() to accept the current HIMEM:
  being set to the original ProDOS settings of 0x9600 or the value set
  from a previous run of the assembler, 0x7600.  This allows the
  assembler to be started cleanly after a STOP for non-continuable
  errors.
* In parseDecValue() and parseSymbolName(), I was using MID$() to
  extract the complete string for some reason.  A simple string
  assignment suffices so that is what I switched to.
* In handleDS() I wasn't calculating the number of bytes to round up
  to the start of the next page when '/' was specified as the operand.
  I fixed the math.
* The handleASC() BASIC version had a typo (missed closing paren) that
  I corrected so that it would no longer generate a syntax error.
* The BASIC versions of handleDB() and handleDW() were incorrectly
  setting the I variable to K+1.  The K variable holds the location of
  the last comma encountered and the next iteration should start just
  after that comma.  However the FOR...NEXT construct will also
  increment the I index variable so it just needs to be set to K and
  then the +1 will happen automatically.
* Changed some code in listMachineCodeAndSource() to clean up the
  listing output a bit and fix some bugs that I introduced when fixing
  other problems in the BASIC code.