Clean up after gmxcpp

Using grompp in integration tests with potentially multiple different
calls to gmx_grompp per executable requires that we start from a clean
state every time we do such a call. Old code was re-using -I paths,
and both -D and #defines, which was breaking some tests I am working
on.

Also added some other done_* calls on the general theory of trying not
to be evil.

Change-Id: I6016bc1786c8ecc9303eeee2ad4a83975117ca5f