Re-implement WINNER, support "done @promises"

Much of the logic existed twice in the sub, this has now been simplified.  Also,
any parameter sanity tests are now performed *before* looking for a Promise/Channel
so that problems in parameters do not stay hidden if they just did not happen to hit
that case.
Simplify Supply.list, like Channel.list now

This seems now possible after the WINNER refactor