Fix $CARTON_DIR

Resolve symlinks to find the directory, in order to get the correct directory if `carton` is symlinked to a different place.

Also replace $BASH_SOURCE with $0, as the former is according to the documentation only indented for use with functions.