Cleanup newlink implementation.

Removes most of the C++ dependencies in linker.cpp.
Cleans up error messages.
6 files changed