Rationalise include guard macro names

Add a HTSLIB_ prefix to avoid conflicting with user code.
Avoid using the __ prefix reserved for the compiler implementation.
Ensure installation directories are world-executable

As for installed files, create leaf installation directories
without regard to umask.  (However any parent directories created
via  mkdir -p  will still have umask applied.)
Merge branch 'develop' into mergemem