Add "smarts" to setup; script-relative and selective backup and linking.

- setup.sh uses it's directory as the location to link to.
  NOTE: This apparently isn't theoretically reliable. It isn't even the
    most robust method of determining the script directory. It does
    appear to be the most pragmatic... See:
        http://amaras-tech.co.uk/article/147/Bash_script_get_current_script_directory
        http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in
        http://mywiki.wooledge.org/BashFAQ/028
- Backup and linking is now intelligently selective. If the appropriate
  symlink already exists, there is no need to move it out of the way and
  relink. If no files need to be moved out of the way then the backup
  directory isn't created.
- Move backup location into repository directory.