Fix another DISASSEMBLE-MEMORY crash for x86-64
Generalize the optimization to packed-info-insert.
Some changes to bootstrap the quasi-lockfree globaldb info hashtable.

Also a clearer way of expressing the PUTHASH algorithm,
and a unit test that it works in the cross-compiler host.
Invert the lookup mechanism for metainfo about info :class :type.

This stems from a discovery that we held info-class objects on symbol-plists
as a memoization layer, but reverted to a hashtable when unmemoized.
We could have just stored things on symbol-plist, eschewing a hashtable,
as sb-fasl and sb-pcl do, however it's possibly dangerous to expose
system plists to users who might impolitely smash them. And since info classes
are keywords, the lists are easily discoverable, and the damage potential high.
So it being that the hashtable had a kind of wrong/redundant feel to it,
now the INFO mechanism is metacircularly used to store its own metadata.

Also, as the class/type distinction was largely pointless, info classes
no longer exist as objects in their own right. Metainfo for (:<class> :<type>)
is found using the <type> as the primary axis, and resolved secondarily using
<class> as the minor axis, but it's basically irrelevant which contains which.
Fix discrepancy in %instance-length for instances created by genesis.
Redo previous change a la suggestion of Alastair Bridgewater
Clarify a comment and update an obsolete comment.
Two corrections to MAP-REFERENCING-OBJECTS
Don't use ASH-LEFT-MODFX in MAKE-INFO-DESCRIPTOR in globaldb.

It's sadly unavailable for any backend but x86[-64].
Thanks to stassats for the diagnosis.
Repair build using CLISP as cross-compilation host.

Fixes lp# 1292811
Restore compilation with clang.

Remove .end directives from x86-*-assem.S files, clang doesn't seem to
like them anymore.

Fixes lp#1293643.
Fix FIND-CLASSOID when errorp=t and cell exists but classoid doesn't.
Shorten LAYOUT-OF with some DEFGLOBALs (saves ~9 instructions on x86-64).
Absorb pcl wrapper into SB-KERNEL:LAYOUT and freeze layout's layout.

The shortens the test for whether something is a layout,
which happens all over the place.

Numerous comments suggest that the 'for-std-class' flag could be
removed by merely checking if effective-slot-definition objects
had been placed into the layout, but I don't think it's that simple.
Slot presence as the defining factor would make SB-PCL::PCL-INSTANCE-P
return NIL for slotless standard-objects, and that's (probably) wrong.
Generalize info hashtable's comparator, and add more barriers.
Define CALL-WITH-EACH-GLOBALDB-NAME as the replacement for DO-INFO.
Use a single hashtable for the globaldb's complicated names.

The volatile/compact environment structures are hereby deleted.