Add support for creating V7 executables

Only really usable for executables; relocatables can still happily use
the new (Linux, ELKS, 386BSD) format. Probably only impure executables
will be correctly generated; moreover without a symbol table.
Support K&R style empty preprocessor directives
Add support for K&R-style anonymous structures and unions
Add -7 option to compiler to enable ancient construct

Following commits add various funcitonality that is likely to be
unwanted for the most, but is vital to compile really old C code, such
as Seventh Edition UNIX code.
Untie structure members from structure

In historic K&R C, structure members name space was global. For compatibility, search all structures for a member if it is not found.
In K&R C lvalues remain lvalues even after cast
Add support for some old K&R post-assignment operator syntax

Old C had "=+" instead of "+=" and so on. To grok it we would need to
break later C including ISO and ANSI standards, potentially breaking
existing code (=- would no longer be assignment and unary minus),
thus this is disabled per default and enabled only with -7.
Add support for old K&R style initializers
Allow non-matching implicit and explicit decl types

It's done in K&R c code a couple of times. Even gcc would allow this, so
why worry.
Link compile helpers separately
Prefer entry into start() to main()

UNIX linker traditionally made it possible to do various initializations
prior to _main being jumped into, usually by means of assembler _start
routine.
Add size/objdump support for v7
Check for incorrect REP/REPNE prefix use
On 8086 PUSH does not take an immediate operand