Merge t_symtab into symtab.h

- Remove types/symtab.h.
- Make the type forward-declarable and use that in headers.
- Remove some unnecessary includes of symtab.h, and added some that were
  missing.  These may not be 100% accurate, since types/topology.h still
  brings symtab.h into nearly every file.

In principle, it should be straightforward to make the type internal to
symtab.c (I don't think the contents of the struct are used anywhere
outside that file), but the problem is that it is very difficult to find
all places where t_topology or gmx_mtop_t is allocated with snew()
without calling open_symtab() afterwards, since all those should change
to also initialize the symtab member to a non-NULL pointer.

Change-Id: I3b932f508bb010c4bda06f80ad98a4836eeb8484