Some do-nothing clarifications about simple and closure funs.
Threadsafe FIND-OR-CREATE-FDEFINITION.
Fix conditions initform inheritance.

SB-KERNEL::COMPUTE-EFFECTIVE-SLOTS got the source and destination
mixed up.

The fact the test didn't actually test anything didn't help.

Fixes lp#1300904.
Properly pprint literal functions inside nested lists.

SB-IMPL::OUTPUT-FUN used to bind *print-level* to 3, causing
`(((,#'eq))) to be printed as (((#))), it explained that that was for
printing of interpreted functions, but interpreted functions aren't
printed as code anymore, just a name.
That *print-level* is now removed, although it could be solved by
binding it to (+ *current-level-in-print* 3), if required.

Fixes lp#1300716.
Avoid compiler note about non-use of type assertion due to assignment.
Really skip multithreading INFO tests if missing sb-thread feature.
Fix bitrot in LDB's print_cmd which assumed n-fixnum-tag-bits=2
Use bzero from C library on x86-64
Assign thread-local storage indices at load-time on x86-64

This also includes a disassembler enhancement.
Macroize WRITE[-TO-STRING] defknowns, the latter missing a keyword

... which was recently corrected for one and not the other.
Remove a FIXME. lp#1026439 dealt with this.
Make cross-compilation a smidgen less noisy.
Rename *ALIEN-STACK* to *ALIEN-STACK-POINTER*

This eliminates one piddling annoyance from genesis.
Unbreak my previous change. Not sure how it worked.
Assign constant TLS indices to some important symbols.

And simplify related macrology.
Trivial change sb!vm::sym -> sb!vm:sym where it's an external symbol.
Speed up manipulation of special variables on threaded x86-64.

This replaces branching instructions with conditional moves.
Additionally, tests for unbound/no-tls-value markers use :dword
operands, which should be invisible to user code. Putting random data
in the high 32 bits of those markers expecting them to be immediate
objects distinct from markers is just wrong.

Gabriel's STAK test runs at least 5% faster.

Note: %compare-and-swap-symbol-value isn't materially changed,
it just looks like it because of the new macros. It could get the
same treatment as the SET vop possibly.
Speed up x86oid non-local exits.

In changeset dc386436 Nikodemus made WITH-ALIEN rebind *ALIEN-STACK*
to itself. This made some work of SAVE-/RESTORE-DYNAMIC-STATE redundant
so far as the special binding takes care of releasing aliens.
He even pointed out that aliens were no longer freed one at a time,
but didn't remove the extra mechanism, which incidentally seems not to
have worked correctly, as otherwise the bug which prompted the rebinding
approach couldn't have occurred.

Net of all previous related changes, the minimal example
  (lambda () (catch 'foo (funcall 'bar)) nil)
is 14 instructions shorter and 90 bytes less on x86-64.
Gabriel's CTAK benchmark runs 10% faster, maybe more.
Unify the algorithms for (CAS SYMBOL-VALUE) and SET on x86-64.
Fix bad math in %THREAD-LOCAL-REFERENCES.

This was no mere fencepost bug - it was off by a factor of 2 or 4
despite attempted previous fix in revision 85a570a, probably
explaining why the careful MAKE-LISP-OBJ was used.