Gets rid of lots of Very Wrong frobbing of the interned
strings in the symbol table.
Instead we use UNSPEC patterns to record that a given type
of addressing is desired (base-relative or non_lazy_ptr)
and delay creating the backing data structures for these
until the instructions are actually emitted during final.
Since I don't have a darwin system myself, I can't test
more than just cross-compilation. I have a little test
program that generates one of every kind of relocation,
and that seems to work, but...
Anyway, I'd appreciate someone testing this for real.