This adds functionality for undefined atoms from dynamic libraries to be added
to the list of undefined atoms.

The processing of undefined atoms from dynamic libraries is controlled by
use-shlib-undefines command line option.

This patch also adds additional command line arguments to allow/disallow
unresolved symbols from shared libraries and mimics GNU ld behavior.