signal errors on trying to subclass BUILT-IN-CLASSes, lp#861004

Introduce a new "interposing" (in AMOP terms) SYSTEM-CLASS to hang
some functionality on, and make BUILT-IN-CLASS a subclass.  Most
of the specified functionality is common to both and implemented
in terms of SYSTEM-CLASS, but the error on subclassing is just for
BUILT-IN-CLASSES.  This therefore involves making the subclassable
System Classes, SEQUENCE and STREAM (and subclasses), be of metaclass
SYSTEM-CLASS rather than BUILT-IN-CLASS.  The bootstrap and braid need
to be adjusted accordingly.  Implement the validate-superclass error
in terms of a new invalid-superclass generic function (as suggested
by Nick Levine in preliminary work on this problem), and make the
invalid-superclass error a reference-condition so that we can defend
our implementation strategy.

This is yet another example of a bug tagged "easy" which involves
dealing with the PCL bootstrap.  Someone should do something about
this.
Indicate that ppc-linux supports alien-callbacks.

It does for a long time, but the feature wasn't pushed, and some tests
weren't executed, but they do pass.
Reduce profiling interval in sb-sprof tests.

Due to ARM being slower, it can't handle constant sigprof signals. A
better sigprof handle, which does less work, would solve it.
Save FP registers during call_into_lisp on ARM.

d8-d15 have to be saved by the callee.
Flush icache in alien-callback-assembler-wrapper on ARM.
Fix passing floats to alien functions on armhf.

Assign the registers properly. Handle floats passed on the stack.
Optimize alien double passing on arm-softfp.

Use fmdrr instead of fmdlr and fmdhr.
NEWS entry for fix to lp#861004
fix initarg to arm cannot-encode-immediate-operand
hack to get sb-sprof to pass its tests even on a RPi
ARM: specify -march=armv5 to gcc.

This appears to be the minimal version which would work, and GCC
refuses to compile BLX in arch-assem.S without it.
Really mark copy-more-arg as not failing on arm.

The check should be for :arm, not arm.
Better .so loading by sb-gmp and sb-mpfr.

And sb-mpfr doesn't call undefined aliens during compilation anymore.
compiler/ltn: Robustify handling of IR2-blocks during LTN.

  * In ANNOTATE-UNKNOWN-VALUES-LVAR, it is assumed that any node
that is the DEST for an LVAR is in an IR1 block that already has
an associated IR2 block.  This may have been true historically,
but is no longer the case if it ever was.

  * Allocate IR2-BLOCK structures in an initial pre-pass over the
component, and ensure that new IR2-BLOCK structures are allocated
as needed whenever we split an IR1 block.

  * When we split an IR1 block, make sure that information about
popped LVARs is distributed correctly between the corresponding
IR2 blocks.

  * This fixes the known regression from the nonlinear LVAR fixes,
and should generally be a whole lot more robust.
Align number stack to 8 bytes on ARM.
Restore def-ir1-translator support for macro lambda lists.

Revert to the previous way of defining guard functions.

This unbreaks cl-curlex and restores &body in lambda lists.
1.2.0: will be tagged as "sbcl-1.2.0"
Transform CONSP to LISTP for known not-nil argument.
Move RELEASE-FD-STREAM-BUFFER after the defstruct for FD-STREAM.

This inlines the accessors. Similarly STREAM-OUTPUT-STREAM can
avoid calling specifier-type in its typecase.
Use %OTHER-POINTER-WIDETAG instead of WIDETAG-OF where applicable.

Also strengthen a declaration in DUMP-SPECIALIZED-VECTOR.