Clean up some unnecessary Pathname usage
pygobject: fix patch SHA-1

Closes #28040.
mpd: add mirror.
visitors: add test
visitors: add 0.7 bottle.

Closes #28044.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
ry 0.5.2 (new formula)
ry: add 0.5.2 bottle.

Closes #27865.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
tomcat 7.0.53

Closes #28045.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
mtr: fix patch SHA-1.

Closes #28046.
Stop jumping through hoops to get at the collector object
Remove now unnecessary branching from bottle DSL methods
Extract tag and checksum selection from DSL method
Remove unused parameter
Avoid realpath where it is not necessary

Symlinks in opt and LinkedKegs point directly at a keg in the cellar, so
only resolving once symlink should suffice, and make it clear what path
we are interested in.
Use File.symlink to link kegs

Before:

$ git rev-parse HEAD
f6cd59c448b914c14b5f41c536428d3c3c8da12c
$ time brew link git
Linking /usr/local/Cellar/git/1.9.1... 204 symlinks created

real    0m0.929s
user    0m0.441s
sys     0m0.365s

After:
$ time brew link git
Linking /usr/local/Cellar/git/1.9.1... 204 symlinks created

real    0m0.237s
user    0m0.190s
sys     0m0.045s
Rescue specific exceptions instead of guessing what happened
Move make_relative_symlink error handling into keg and adjust callers
Raise useful errors from make_relative_symlink
Only unlink after a LinkError
Raise AlreadyLinkedError when a keg is already linked