allow 'contract' to use #f for the positive
name, but still disallow #f at the blame record
level

closes PR 14387
fix contract guide example
handle the case where the links file contains an absolute path

also try to make fewer assumptions about the content of links files
closes PR 14392