Bundle a version of readlink that handles recursive symlinks.

On Unix systems, the startup script is intended to be linked into /etc/init.d
and will then be further linked into a particular run-level.  This might result
in a configuration of symlinks like:

  /etc/init.d/archivesspace -> /path/to/archivesspace/archivesspace.sh
  /etc/rc2.d/S99archivesspace -> ../init.d/archivesspace

We need to be able to start with a path like "/etc/rc2.d/S99archivesspace" and
resolve that back to its real "/path/to/archivesspace/archivesspace.sh".  GNU's
readlink has an "-f" option that does this for us, but OSX's version doesn't,
so we implement our own here.