Abstract link errors out from conda_build.dll.
Refactor link error detection and handling.

Instead of raising exceptions when link errors are detected, accumulate
all link errors and expose them via `BuildRoot.link_errors`.  If there
are errors, it is the job of `conda_build.build` to raise them, which
we catch in `conda_build.main_build`, and then provide a handler with
the opportunity to handle the errors, and potentially re-try the build.