clarify the make.sh --with-feature and --without-feature syntax in INSTALL

  Documentation-only, so going in despite the freeze.
Add an entry for ASDF upgrade to NEWS
Add workaround to a flaky semaphore timeout test.
1.0.56: will be tagged as "sbcl-1.0.56"
better REPLACE docstring

  lp#965592
sb-simple-streams: signal an error for bad stream classes in OPEN

  Instead of silently returning NIL, signal an error if the class does not
  exist (if argument :class is a symbol) or is not a stream class.

  lp#969352
don't refer to unix namestrings on windows
plain T and OTHERWISE not allowed in CASE normal-clauses

  lp#959687
more conservative classoid-name clearing

  (SETF (FIND-CLASS X) NIL) should not clear the classoid name if X is
  not the proper name of the class.

  lp#941102
MAKE-LEXENV used NCONC on its arguments, which callers did not expect

  Fixes lp#924276.
gencgc: reclaim space more aggressively

 * When considering auto_gc_trigger, take the number of bytes about to be
   allocated into account.

 * If bytes_consed_between_gcs is more than the amount of free heap, set next
   GC to occur when half of the remaining free heap has been consumed.

 * Keep track of the size of the largest object allocated between two GCs.
   When collecting garbage, if there isn't enough space to allocate at least
   two such objects before collecting the last generation due a collection,
   extend the collection by one extra generation.

   This works around our tendency to immediately promote large objects to
   generation 1, due to auto_gc_trigger causing a GC _after_ the allocation.

 Fixes lp#936304.
cleanup: use size_t for new_areas_index and max_new_areas

  Two longs down, umpteen to go.
cleanup: gencgc copy_unboxed_object and shared gc_general_copy_object

  Implement the first in terms of the second: they're identical except for the
  calling convention. Move the second to gc-internal.h as an inline function.

  Also eliminates a couple of longs.
cleanup: partial long cleanup in sniff_code_object and gencgc_apply_code_fixups

  Feels more like an address arithmetic cleanup, though. :)

  Slowly...
cleanup: remove cast to (unsigned long) from print_ptr()
robustify (deadlock-detection interrupts) test

    1. Make sure the desired "tricky" ordering happens.
    2. Make sure threads can't exit before they're intrerupted.

  Next time I commit a test that relies on SLEEP without a comment explaining
  (1) why it is necessary and there isn't a better alternative (2) what the
  ordering the tests is trying to achieve actually ise... please hit me with a
  stick. Hard.
ensure-directory-exists: didn't work when *d-p-d* had NAME or TYPE components.

(let ((*default-pathname-defaults* #p"/tmp/foo"))
     (ensure-directories-exist "/"))
signalled an error that "/" doesn't exist because it was checking for "/foo".
pprint: Make sure that lists like (loop . 10) can be printed.

pprint signaled an error when called on improper lists with
a car being a symbol from CL (loop, macrolet, flet, and some others).
run-program: proper handling of :if-input-does-not-exist NIL.

:output existing-file :if-output-exists NIL and
:input non-existing-file :if-input-does-not-exist NIL signalled errors
instead of just returning NIL as specified.

Fixes lp#968836
minor fix to alien.impure.lisp test

Don't signal a compiler-note with ERROR to indicate failure; it bypasses
the handlers and aborts the entire file.  Use (error "bad note: ~A" note)
instead