redex: randomly choose between search heuristics
Rewrite TR class form to preserve abstractions

This uses a technique discovered by Ryan and Dan that
allows the typed class macro to function without invasively
local-expanding the entire class macro (using its private
context information).

Instead, it expands into many helper macros inside the
normal class body and communicates among them using
`syntax-local-value` and compile-time state within the
class body.

This rewrite didn't save that many lines, but it did
reduce the amount of magic that's used.
Get rid of some unused code.

Looks like some aborted attempt at abstraction, which is no longer used.
Get rid of `special-dots-printing?'.

Asumu said that he doesn't know of any other clients of this parameter
besides my class code.
Add `type-output-sexpr-tweaker'.

Sounds like a bad name, but I don't have anything better.  It's not some
"current-...-print" thing since it works on the sexpr that is intended
to be pretty-printed.  So I went with the above.
Random improvement.

The thing that caught my eye is the missing `#:cache-keys?' which should
really be there.  But not too important.
Fix printing of * in -> types
Add contract generation for Evtof types
add missing "x86_64-linux-natipkg" dependency

Merge to v6.1.1
setup and pkg create: adjust ELF RPATH on install and uninstall

Allow a library installed as user-specific to refer to libraries
installed installation-wide.
fix allocation bug in `equal?` on deeply nested values

Based on the core file, this bug seems likely responsible for the
`raco setup` crash on DrDr for push 29346.

Merge to v6.1.1