use assertRaises as a context manager

so we don't have to create a no-arg lambda and because it looks better
fix spacing in comment
TestLinkErrorHandler.test_process_errors: add example with multiple of each type
BUGFIX: fail only if ignore_link_errors *AND* extern not empty
BaseLinkErrorHandler.hanlde: add ability to not exit with simulate arg

to facilitate viewing/testing prints
BUGFIX: account for new message creation logic in _process_errors

each error type now creates a single consolidated message
add TestLinkErrorHandler.test_handle

main purpose is to print consolidated messages to stderr