give ExternalLinkage its own summary_message
standardize to single quotes for docstring
use dedent to retain python indentation
refactor/reformat link and _summary_message

allow summary_message to control whitespace better by removing newlines from link, _summary_message
give each LinkError subclass its own _summary_message, removing need for final_message