Improve master-specific CMake behavior.

- Make GMX_BUILD_UNITTESTS independent of GMX_XML.  It now gets it
  default value based on whether libxml2 is found.  Also, if it is
  explicitly set, but libxml2 is not found, give a fatal error instead
  of silently disabling the tests.
- Mark GMX_XML as advanced and make it a no-op that it currently is
  (nothing in libgromacs actually depends on libxml2).
- Rename GMX_INTERNAL_BOOST to GMX_EXTERNAL_BOOST to match BLAS/LAPACK
  settings.  Set the default for it based on whether Boost is
  actually found.  Print the existing message on the first run if
  GMX_EXTERNAL_BOOST was not explicitly set.  Give a fatal error if
  boost is not found and GMX_EXTERNAL_BOOST=ON instead of silently
  changing to use the internal boost.
- Move installation rules etc. for boost towards the end of the
  CMakeLists.txt file to use INCL_INSTALL_DIR in them.

Now, cached values for these variables really describe what is going to
get build.  Also, explicit user choices are never overridden, but result
in fatal errors if they cannot be satisfied.

Change-Id: I5b3f93eecff2ccc4bf8d348392dd4ae30efd9f92
Merge "Improve master-specific CMake behavior."