First attempt to clean up check_link_to
 - Broke check_argument into smaller functions
 - Removed warning code duplication
 - Added some one liners to clarify logic