Add test for consecutive Bypass elements.

The test currently fails.

Signed-off-by: Patrick Verkaik <patrick@meraki.net>
Signed-off-by: Eddie Kohler <ekohler@gmail.com>
Add an ignorable.
Add Element::checked_input_pull().

The obvious dual of checked_output_push().

Signed-off-by: Eddie Kohler <ekohler@gmail.com>
Bypass: Avoid crashes on one-input, one-output Bypasses.
Correct Router::visit documentation.
String::unshared() is a better name than String::unique().

Maybe someday I will get this right.

Signed-off-by: Eddie Kohler <ekohler@gmail.com>
Script: Preserve run arguments across `wait`.

The old way was dumb.
Avoid spurious failures.
Bypass: Behave correctly when multiple Bypasses are connected.

Also bypass along both paths, including the exception path.

Patrick Verkaik reported a bug and had a different fix.

Signed-off-by: Eddie Kohler <ekohler@gmail.com>