Guard HAVE_* variables and definitions with DEALI_II prefix

This commits renames every HAVE_* definitions to DEAL_II_HAVE_*. This is
done to avoid name clashes with external projects also exporting HAVE_*
definitions.
Add an entry to changes.h
fix a comment