Added ALIGN as its own directive

DEFS ALIGN still works as before.

We also enforce the alignment value being a power of 2.
Reject additional invalid LD operand combinations

Added cases to match:

LD (HL/IX[+d]/IY[+d]), IXl/IXh/IYl/IYh

and

LD IXl/IXh/IYl/IYh, (HL/IX[+d]/IY[+d])
Fixed double fatal() message output on errors

sys.exit() raises a SystemExit exception, which was caught by the opcode
execution handler as an error, generating a second fatal error message.