Fix link reading

This PR cleans up symlink reading and fixes it on Linux. Annoyingly, symlinks under `/proc/` on Linux will report a size of `0` but will in fact return a positive number of bytes when actually read.

Fixes issue #758. As of this PR, `samex-naif` seems to build and run successfully on (my instance of) Linux. However, I haven't yet done building or testing of `samex-tot` or `samtoc`.