aria2 1.18.4
aria2: add 1.18.4 bottle.
Only write files if we actually made a change
Fix class definition so we can require files first
Move initializer after constants and class methods
ghostscript: fix building with djvu support

Fix from @baikal.

Closes #27427
use File.symlink

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
move make_relative_symlink error handling into keg and adjust callers
use actual keg name
raise useful errors
avoid realpath where it is not necessary
add a TODO