Eliminate C_ANY for output constraints - fixes assign-to
temporary_for_output() is safer w.r.t. register alloc
Remove C_ANY - "any" constraints are chosen at constrain-time
Checked addition __asm__() test
Pull out register-constraint reg-choice logic
__asm__() takes into account already-live registers

e.g. if an input/read-write-output has been generated into a register,
we don't want to allocate over it.
Any-constraint whose value is V_REG only copies to another reg

This avoids problems with spilling to memory and how memory operands
are treated as lvalues
Flags (and unsatisfiable ANY constraints) fallback to reg or mem
Reuse lvalues if their operand constraint is "m"
Move callee-register save __asm__ test
inline asm() int/const constraint test
__asm() string formatting check is done by out/__asm*.c
Extended __asm() supports %= unique number format
Test register use for clobber and RW modifiers
Allow preclobber constraint to exist with write/readwrite
Warn on bitfields in asm() outputs
Fix double-out_val release on asm() error
Generate out_val:s for __asm__() on demand

This means more registers are available at initial constraint-time,
meaning things like:

__asm(
	""
	: "=g"(...), "=a"(...)
	)

can be satisfied, whereas previously the first operand may have
been already generated into %eax before the asm-code had a chance
to deal with it.

Also collapsed several large arguments into structs.
Better error message on wrongly placed asm modifier
Fix parsing empty clobber list