Move basic macros from common.h to basedefinitions.h

Move GMX_UNUSED_VALUE and GMX_IGNORE_RETURN_VALUE from common.h to
basedefinitions.h to not force a boost dependency on code that uses only
these macros.  In particular, CUDA code no longer includes common.h and
thus boost, which yet again works around broken boost/nvcc combinations.
basedefinitions.h is also a more natural place for these, as gmx_unused
is already declared there.

Fix one header that included others within an extern "C" block.

Change-Id: I943f90f068987456219ac7aad388258907018692