Reduce space taken by defstruct accessors.

Do not proclaim the types of accessors, since the transforms already
specify check the necessary types, this allows to save space on the
proclamations; and out-of-line transforms take a bit less space,
because the typecheck is no longer happening inside XEP.

This reduces core size by 896KB on x86-64-linux.
Remove some more of unused defstruct code.

Structure type tests from target-defstruct.lisp is no longer used.
Initial reimplementation of globaldb - fast INFO and (SETF INFO).

The main idea is that info values are stored in a vector attached to
each symbol when possible. When not possible, the storage reverts
to the volatile [sic] environment, but still using a vector as the
payload instead of the chained hashing/alist approach.

This strives to be very fast at lookup at the expense of some added
complexity during updates. Performance testing suggests that it is
at least 2x to 3x faster at (INFO :class :type name), and FBOUNDP
is almost 4x faster. In a repeatable test, a file that took 1.8 seconds
to compile now takes 1.7 seconds but with more consing (as expected).

sbcl.core itself increases in size by <1% for 64-bit architecture,
and less for 32-bit architecture because there is proportionaly less
wasted space. A compact environment's table is effectively the
concatenation of all info vectors into one, so the added overhead is
in vector headers. However the fallback hash is now smaller,
so there used to be more wasted cells in the compact env.

Eventually the compact and volatile environments will both go away,
but not until the quasi-lockfree hashtable bootstraps properly.
The problem is an inability to use raw slots in early cold init.
It's actually not a problem of using them - the compiled code is ok -
but cold-init drops into 'ldb' due to how defstruct expands.

Among the bugs fixed by this (not straightforwardly testable) is that
the compact environment would hold into symbols that became otherwise
inaccessible. It no longer does, but still holds onto other names.

This patch builds with CCL as host, and for 32-on-64 and vice-versa,
so nothing seems terribly broken in terms of assumptions made.
Improve GLOBALDB-SXHASHOID
Build the cross-compiler without all the disassembler nonsense

This takes ~2 sec. off compilation of x86/insts for the host
Change the default for *DISASSEM-LOCATION-COLUMN-WIDTH* to NIL.

One out of one hacker surveyed said it looked good to him.
Maybe fix the ppc disassembler I hope.

This was a case of unconventional indentation fooling the reader (me)
into thinking a define-instruction appeared as a truly-top-level form.
Change COND error message.

COND reports an error saying the clause is not a list even when it's
NIL, which is in fact an empty list.

Fix this by stating instead that clause is not a CONS. Also use
simple-type-error for the error.

Fixes lp#1254511