test: even if a test fails, close the connection

Failure to close a connection causes all subsequent tests to fail
because "some grants are still mapped in".

Signed-off-by: David Scott <dave.scott@citrix.com>
Fix ring corruption by properly initialising the ring

When the server creates the ring, it must set the
{left,right}{consumer,producer} pointers to 0. A cut and paste
error caused us to set the left consumer twice, and miss
the right producer. This would cause spurious data to appear
if the page was not already fully zeroed.

Note that if the server does not trust the client (for example
in an implementation on Xen) then the shared memory pages must
either be zeroed otherwise sanitised before they are granted
to the client.

Signed-off-by: David Scott <dave.scott@citrix.com>