Ensure symbolic links are updated if required.

Symbolic links are now updated even if the binaries don't need to be
updated.

This handles the case (for example):

$ make ARCH=gcc.opt # create prog.gcc.opt.x and link prog.x to it.
$ make ARCH=gcc.dbg # create prog.gcc.dbg.x and link prog.x to it.
$ make ARCH=gcc.opt # prog.gcc.opt.x is up-to-date but prog.x should still be updated to point to it.

We do this just be checking the md5sum of the full program/library
target and the symlink; if they're identical (before anything is built)
then the symlink is already correct and need not be updated.  If they're
not identical, then the symlink must, at the very least, be updated.