Add dest string parser; fix One-To-Several

The only reason One-to-Several worked before in the unit tests was
because it was equivalent to One-to-All. Now we actually restrict it to
the destinations specified in the destination string.