iASL: Improve error message for predefined type mismatch.

For the typechecking of input arguments and return values, include the
name of the predefined object in the error message (when a type
mismatch is detected.)
iASL: Improve listing file output.

Detect and eliminate all completely blank lines. Prevents lots of
wasted whitespace in the listing file.
Also, cleaned up the line prefix (removed the .... prefix) to
improve readability.
iASL: Fix possible infinite loop when max error count is reached.

If an output file other than the .AML file is specified (such as a
listing file), and the maximum number of errors is reached, do not
attempt to flush data to the output file(s) as the compiler is
aborting. This can cause an infinite loop as the max error count
code essentially keeps calling itself.
iASL/Disassembler: Add option to ignore NOOP opcodes/operators.

Implemented for both the compiler and the disassembler.
Often, the NOOP opcode is used as padding for packages that are
changed dynamically by the BIOS. When disassembled, these NOOPs will
cause syntax errors. This option causes the disassembler to ignore
the NOOP opcode, and it also causes the compiler to ignore NOOP statements
as well.