Move some defines to gmxpre.h for thread-MPI

Thread-MPI requires TMPI_WAIT_FOR_NO_ONE to be defined consistently in
all code that may use structs that use TMPI_YIELD_WAIT_DATA, and there
are several of those structs.  Moved the definition for this macro to
gmxpre.h, so that it should be defined everywhere and not cause
surprises.  Rationale for not moving any other defines (some are used by
thread_mpi/include/*) is given in comments, and if/when thread-MPI is
going to disappear sooner or later, there hopefully will not be much
more code introduced that would depend on it and would require a more
robust mechanism, or warrant changing thread-MPI itself.

Change-Id: Ic9f1c2c63fee183e65506f06fdc84d10cc5f97b9
Remove unnecessary config.h includes

Now that all the blanket definitions that need to appear everywhere are
in gmxpre.h, remove unnecessary uses of config.h.  Kernel files left
alone for now.

Change-Id: I1e0e7b1f842c5182334687ad86afaee176e31bf2