implement multi-branch expects

Also remove the 'notify' optimization and the EOF notifying, as this would
have had to become a fanout messaging strategy. Branches just detect if
they've hit the EOF and poll on the 100ms interval.