add -v verbose output option and some debug output
only one protocol, new fatal function for errors
make fatal() a macro, use it for all getopt errors
use fatal() for getopt errors