Resolve symlinks properly

When determining the Cask directory we have to resolve the chain of symlinks pointing to the executable, in case someone linked jsut the `cask` binary somewhere into `$PATH`.

We did this in 0.3, with quite similar code, but it seems to have been lost in the rewriting of Carton in plain Emacs Lisp (looking at your, @rejeep ;) ).  This PR brings the old behavior back.

After merging this branch, we should push a 0.4.1 release immediately, because it's a showstopper on Travis CI (at least for my projects).