xencat: catch SIGINT (Control+C) and trigger the disconnect and cleanup

Otherwise Control+C exits the process uncleanly and without signalling
to the other end that we've gone away.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>