Revamped label handling code in assembler

 - Defines are resolved in place (not post processed)
 - Valid names for labels are only continuous strings of alpha
   numeric characters
 - Removed twos complement label type, only required if defines
   are post processed
Added .blk & .loc directives to assembler and renamed DB directive

 - .blk inserts a block of fill bytes in the assembler output
 - .loc inserts moves the assembler ouput location to a given address,
   i.e. it inserts fill bytes so the next code is at the given location
 - renamed DB to .db to match other directive names
Cleaned assembler immediate value handling

 - Generic function for getting a numeric value checks for
   define
 - Less code in immediate value embedding functions
Added z80 support to assembler (needs cleaning & probably bug fixes)