fixes #8

before generating a rule, we check to make sure that if either the
destination_port or source_port are specified, the protocol is
specified as well.