I pushed this upstream even though it's incomplete.  I also added a
few extra tidy up commits.
Note that in OCaml any labelled parameter like ~foo:foo can be written
as ~foo (it's exactly the same, just shorthand).
I don't know what the final decision was about whether to commit
Cargo.toml.  It seems to me that it is a generated file and therefore
we should not commit it, so I added it to .gitignore instead.
Thanks for your contribution so far!
Rich.
-- 
Richard Jones, Virtualization Group, Red Hat 
http://people.redhat.com/~rjones
Read my programming and virtualization blog: 
http://rwmj.wordpress.com
libguestfs lets you edit virtual machines.  Supports shell scripting,
bindings from many languages.  
http://libguestfs.org