[RFC] build: fix the usage of DESTDIR in InstallHelpers.cmake

It turns out that `file(INSTALL ...)` already accounts for `DESTDIR`, so
this wasn't creating the directory structure in the correct location.
Instead, we need to do our existence check with `DESTDIR`, but leave it
off when doing the install step.

While we're at it, add a check to make sure `ENV{DESTDIR}` is not being
used with a relative path, as that construct doesn't make much sense.

This fixes issue #1387 discovered while trying to make helptag
generation work correctly in #1381.
The issue here is that `file(INSTALL ...)` will install into the location you specify, but also take into account `DESTDIR`.  For instance, `file(INSTALL DESTINATION /path/to/dir)` will install into `/path/to/destdir/path/to/dir` when `DESTDIR=/path/to/destdir`.  The `if(EXISTS /path)` construct doesn't do anything special when `DESTDIR` is specified, so we have to make sure to include it when we do our existence check.

Given that, do you have any suggestions on how to change the wording?  I struggled with it myself.  I changed it twice before deciding on what is there right now. :-)