Sandboxes can reconnect.

This is only really useful for sandboxes using the iframe adapter.  The
canonical use case is for sandboxes that navigate.

This adds some complications for the container code, namely:

1.  If using the service API, it's important not to save ports outside of the
    service, or references to the service itself.  Using
    `sandbox.capabilities[name].send` is the preferred approach.
2.  If using the ports API, it is necessary to reconnect to ports on the
    container side after a reconnection, as the port object is not the same.
    This requirement may be dropped in the future.