add "service name" support to all commands, miscellaneous other cleanups

host:"service name" is now accepted by all existing commands, to the best of my knowledge (and testing with a regex test script).

User-provided 'message' fields (ack, downtime, etc) were tested with "message:message" to ensure that colons were handled correctly in all cases.

Responses now say "host %s" or "service %s:%s" so that any future parsing errors are immediately apparent to users ("hey, foo:PING isn't a valid host").

I wrote a validate command that uses validate_host() internally, and then altered the ^validate$ regex to callback it instead of validate_host.

Various small things otherwise.