sinksmtp: go crazy and implement switch-style multi-condition rule matching

This is experimental. I may change my mind. But control rules now support
a strict-ordering version, called 'compact form':

	set-with helo .local with message "oh bogus";
		 from a@b.com with message "sure, sure";
		 from @b.com with message "not really"

Compact form rule clauses are checked in order and the first one is what
applies. This only really matters with set-with, which is the only sort
of rule that continues after matching.

There is probably a more elegant solution to this somewhere.