CLEANUP: fix missing include <string.h> in proto/listener.h

The file proto/listener.h makes use of strdup() but doesn't include
<string.h> so it's sensible to include file ordering.
CLEANUP: protect checks.h from multiple inclusions

The types/checks.h include file isn't protected against multiple inclusions,
so let's surround it with "#ifndef _TYPES_CHECKS_H/#endif" to fix this.