Make build/install more user and packaging friendly

Make the build and install more user and packaging friendly
by introducing the following features in the Makefile:

  * Honor the `$(CFLAGS)` set when calling make.

  * Prefix all install locations with `$(DESTDIR)` for
    easy package building.

  * Use GNU Makefile conventions for defining installation
    directories. This means `$(bindir)` and `$(man1dir)`
    instead of the former `$(INSTALL_DIR)` and `$(MAN_DIR)`.

  * Use `install(1)` for installing files and directories
    so that permissions can be set properly.

  * Stop `make clean` failing when it has nothing to do.

  * Add `uninstall` make target.

  * Make `install` target build executable if necessary.