Don't make bogus things when creating large arrays.

With the change to 1-bit fixnums tags on x86-64, the condition that
the fixnum words converted to bytes still fit into the word length no
longer holds, which causes the number of bytes to overflow and produce
unexpected results.

Declare the number of words in ALLOCATE-VECTOR to be
(unsigned-byte (- sb-vm:n-word-bits sb-vm:word-shift)).
Fix code-deletion note reported on sbcl-devel 25-Jul-2013
Simplify WITH-INPUT-FROM-STRING and fix a bug therein (leaving another)
CCASE/ECASE/CTYPECASE/ETYPECASE error message done more nicely
Sadly, remove compilation unit around make-host-2 (temporarily?)
Restore x86 build.

The previous change to allocate-vector declared a variable to be
outside of the fixnum range, stopping ALLOCATE-VECTOR-ON-HEAP VOP from
being applied, resulting in an endless recursion.

Spotted by James M. Lawrence.
Quiet a handful of unused variable warnings
Remove obsolete option (that had meaning in CMUCL) from WITH-FOP-STACK
Eliminate !FDEFN-COLD-INIT by having genesis attach fdefns to symbols.
tests: add -fPIC for run-compiler.sh on ARM.

Fixes lp#1349830.
Split UIOP out of ASDF into its own contrib. While we're at it, update ASDF to 3.1.3 (an in asdf-stub, note that fasl-op is now compile-bundle-op).
ASSERT reports arguments in calls of lexical functions

ASSERT now checks the lexical environment in addition to the info
database to determine whether SYMBOL in

  (assert (SYMBOL . ARGS))

is a function and thus permits evaluating ARGS for the error report.
CHANGE-CLASS finalizes inheritance of new class if necessary

The methods on CHANGE-CLASS for

  FORWARD-REFERENCED-CLASS    -> STANDARD-CLASS
  FUNCALLABLE-STANDARD-OBJECT -> FUNCALLABLE-STANDARD-CLASS

did not ensure the inheritance was finalized before accessing the class
precedence list.
CHANGE-CLASS now works correctly on unbound slots

Previously, CHANGE-CLASS of an instance with unbound slots could signal
an error when the unbound marker was type-checked against the type of
the destination slot.
CHANGE-CLASS into FORWARD-REFERENCED-CLASS signals correct error

Previously, CHANGE-CLASS into FORWARD-REFERENCED-CLASS signaled an error
about no applicable method.
CHANGE-CLASS no longer signals bogus TYPE-ERRORs despite initargs

Previously, CHANGE-CLASS signaled TYPE-ERRORs when slot values did not
conform to the new type of the slot even if a initarg with a conforming
value had been supplied.
Shared helpers for %OBSOLETE-INSTANCE-TRAP, %CHANGE-CLASS

The new helper functions %ENSURE-SLOT-VALUE-TYPE and
%SET-SLOT-VALUE-CHECKING-TYPE are used by %OBSOLETE-INSTANCE-TRAP and
%CHANGE-CLASS.
Rewrite of CHANGE-CLASS tests

New stuff:

* Helper function CHANGE-CLASS-TEST-CASE
* Smoke test
* Test type checking of slot values
* Test interaction with initforms and default initargs
* Test CHANGE-CLASS on FORWARD-REFERENCED-CLASS
* Test CHANGE-CLASS on FUNCALLABLE-STANDARD-CLASS
Fix GENCGC and core saving on ARM.

ALLOCATION_POINTER was inconsistently used, resulting in incorrectly
saved cores. Always use ALLOCATION_POINTER on GENCGC ARM.

This change may have broken arm-cheneygc, something to check later.
Even better would be to make all the variations to use one thing,
instead of dynamic_space_free_pointer and ALLOCATION_POINTER.

Fixes lp#1349795.
Fix ASSERT changes in acc2013

An entry in the FUNS of the LEXENV does not necessarily imply a lexical
function. Check for FUNCTIONAL-P to only pick up lexical functions, not
macros and other things.