More robust handling for installed headers

- Remove unnecessary first parameter from gmx_install_headers():
  it is possible to deduce the installation destination from the
  current CMake directory.  This eliminates the possibility of typos in
  this parameter that would break the installed headers.
- Make the gmx_install_headers() function also generate a global list of
  installed headers, which is then used to generate a file with this
  list, instead of globbing this information from the
  cmake_install.cmake files.  This ensures that obsolete files in the
  build tree should not affect the outcome.

Change-Id: I4d27accaebc14438acc5d290b25258b561ca04ea