Makefile: make sure that we run install with umask 0022
Makefile: sort .PHONY targets
Makefile: better uninstall

Teach the uninstall target to attempt to remove all the directories
in which we install files.

We use `rmdir $DIR` to attempt to remove a directory, therefore,
if there are other files inside the directory, the directory is not
removed.

Tested by adding [ and ls inside $BINDIR and by checking that $BINDIR
is not removed by `make uninstall`.