Clean up futil.*

- Make is_pipe() static, since it is not used outside futil.cpp.
- Move gmx_fexist_master() to network.* to remove t_commrec dependency
  from futil.
- Remove unnecessary #define for a system-provided symbol rewind().
- Remove unused gmx_truncatefile().
- Move STRLEN to utility/cstringutil.h, since types/simple.h is no
  longer transitively included by futil.h.  This avoids reintroducing an
  utility/ -> types/simple.h dependency.  Include cstringutil.h in
  source files that were depending on STRLEN.
- Add some Doxygen documentation for all the functions.

Preparation for moving these to utility/ to resolve fileio-utility
cyclic dependency.

Change-Id: I26ed7e46c512ee41621e2a2c241692c1bb28530d
Remove utility -> fileio dependencies

- Move futil.* to utility/.  It is somewhat difficult to keep low-level
  utilities independent of any file utility functions.  Now fileio/
  mainly contains I/O routines that need to know something about the
  file formats supported by Gromacs, and lower-level stuff is in
  utility/.
- Move path.* back to utility/, with the same rationale as above.
- Don't use gmxfio for the debug file.  It doesn't provide any benefit
  for this use, but introduces a cyclic dependency that is very hard to
  break otherwise.  There are some extra conditionals in gmxfio that
  could possibly be removed because of this, but left them there for
  now, since they require additional analysis.

Now, the only dependency from utility/ to other subdirectories is
because of gmx_fatal_collective().

Change-Id: Ib5b8e71088f1fa69909179b35f9600e22ef9ad8d