Implement migrate on supplies.

Works on a supply of supplies. Taps the first one that arrives, and
passes on its values. When another one arrives, closes the tap on the
first and starts passing on values from the second, and so forth. Very
useful for preventing race conditions when you have supplies that
represent the latest work needed, and want to ignore previous work
set in motion (e.g. auto-search text box that does some work to make
suggestions).