Explicitly test for GNU ln, and fail safe if GNU ln can't be found

This lets Seashell work on Mac OS X for me.