Use a consistent message string when signaling reader package errors.

Also improve some nondescript variable names, and a stealth bugfix.
Compute MAKE-INTEGER's magic constants for any n-fixnum-bits.

Also rename token-buf's OUCH-PTR to FILL-PTR.
LOOP: produce warnings for empty types.

Jan Moringen reported that the test
(typep (loop with a of-type extended-char return a) 'extended-char)
failed on #-sb-unicode.
It returned 0.0 and didn't produce a warning during compilation, since
extended-char is an empty type on #-sb-unicode.
Catch empty types and don't produce default values for them.
Change some more uses of INCH-READ-BUFFER to TOKEN-BUF-GETCHAR.

Also delete READ-UNWIND-READ-BUFFER which seemed to confuse
rewinding with unwinding - I would think that an unwound tape
couldn't be read again but a rewound one could.
Delete INCH-READ-BUFFER function and macroize some stuff.
Rename TOKEN-BUF-INCH-PTR to TOKEN-BUF-CURSOR
Fix loop.pure:of-type-character test.

Should read #+sb-unicode, not #-sb-unicode.

Spotted by Jan Moringen.
Fix test failure spotted by the ever vigilant Jan Moringen.
Resolve a FIXME. There is no COLD-INIT-INTEGER-READER

Also make it known that {READER-EOF,SIMPLE-READER}-ERROR don't return.
Optimize PROBE-FILE.

In QUERY-FILE-SYSTEM, avoid formatting an error message if no error is
requested. FORMAT is not expanded during the build, making it even
slower.
Optimize MAP NIL.

Transform %map nil into %map-for-effect-arity-1 if the type of
sequence is not known. SOME and EVERY are optimized too as a result of
this.
Optimize MAP for unknown types.

Pick up some simple types like list and simple-vector without going
through subtypep. Avoid consing sequences together when possible.
Fix immediate encoding in SET-UNWIND-PROTECT on ARM.

Reported by David O'Toole.
Fix a regression in MAP-INTO.

A change in the %MAP transform also required a change in
BUILD-SEQUENCE-ITERATOR, but it wasn't the only place where it was
used.

Spotted by David O'Toole, tracked down by Bart Botta.
make-genesis-2.sh: read output/build-config.
Type system: contains-unknown-type also walks down negation types

Low occurrence, but negated unknown types can have pretty far-ranging
effects (e.g., `(and vector (not foo)), where 'foo is eventually
'vector).
typep: arrays test on wild _specialised_ element type

It currently works because unknown element types are disregarded, but
we'll eventually want to have a real type on the element type, and
some set representation for specialised element types.
New function: %upgraded-array-element-type to upgrade ctypes

Much saner than mutating an array ctype to upgrade it, and then
reading the specialised element type.
Type system: fix array type intersection and unparsing

1. We need to intersect specialised element types, not just re-derive
   it from the element type.  This only affects intersections between
   unspecialised array types and T arrays.

2. Be more careful when unparsing array types: we can intersect array
   element types for relatively wide specialised element types.  We
   must always preserve the specialised element type.

3. Smoke regression tests.# Please enter the commit message for your changes. Lines starting
Really fix SVREF with unknown types

Now that array type intersection are correct (less broken?), the
kludge in bd84e72bb655e77c0c0bfeaec1c8eac7a427507b isn't useful
anymore.