I would like to propose a new GTP command: command_list. It that returns a list of all implemented commands (space delimited). For example:
< command_list
boardsize name protocol_version version black white genmove_black
genmove_white undo
This way the client can determine what GTP commands are available without having to attempt them.