More modern module structure and error type

We now have a packed module 'Xapi' which contains
  S: signatures and exceptions
  Channel: the channel thingy

and we use `Ok and `Error to simplify integration with other
libraries.

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