Handle compiler flags more flexibly

Flags aren't cached anymore. This prevents all problems with
caching dependent variables. It is the approached taken by other
projectes (VTK,libssh,...). The cached CMAKE_C*_FLAGS* only contain
the user provided flags. The user can add flags by setting the
variables directly or by setting environment variables.
All flags added by Gromacs are only added to the uncached version
with the same name. For the user to overwrite flags the new option
GMX_SKIP_DEFAULT_CFLAGS is added. This option gives the user total
control. Gromacs doesn't add any flags automatically and instead
shows which flags would be added. The user can manually add those
flags she wants.

Fixes #1038, #1040.

Change-Id: I8655f93fac60bce2c9a35152937d672b3786ff32
Merge "Handle compiler flags more flexibly" into release-4-6