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
Implemented Suggested fall through
 - Moved guard logic to check functions
 - Functions now return false if they don't hit or are skipped.
Use each instead of map.
Merge remote-tracking branch 'barttenbrinke/master'