Treat domain_infolist_job's page parameter as cstruct, not bigarray

On the OCaml side, since c/s 77f0707f, the argument of domain_infolist_job (i.e. lwt_domain_infolist_job in the C stubs) is a cstruct. But the C stubs treated this as if it were a bigarray.
Use LWT_UNIX_INIT_JOB macro in LWT function stubs
Remove declaration of unused variable in C stubs
Use Caml_ba_data_val(x) macro rather than Caml_ba_array_val(x)->data
Fully initialise struct job_domain_infolist at creation time

This is purely to keep valgrind happy. Without this, you get warnings along the following lines from valgrind:

==26143== Conditional jump or move depends on uninitialised value(s)
==26143==    at 0x80B46D8: result_domain_infolist (xenstore_stubs.c:77)
==26143==    by 0x80B4BA1: lwt_unix_self_result (lwt_unix_stubs.c:1465)
==26143==    by 0x8055096: camlLwt_unix__self_result_1175 (in /root/server_unix.native)
==26143==  Uninitialised value was created by a heap allocation
==26143==    at 0x4022B83: malloc (vg_replace_malloc.c:195)
==26143==    by 0x80B5E4C: lwt_unix_malloc (lwt_unix_stubs.c:106)
==26143==    by 0x80B4322: lwt_domain_infolist_job (xenstore_stubs.c:101)
==26143==    by 0x804E339: camlXenstore__fun_1136 (in /root/server_unix.native)
Don't pad connection address names

The truncation causes addresses with long process names to be conflated, e.g. "1234:qemu-dm-1:14" and "1234:qemu-dm-1:17" both get truncated to "1234:qemu-dm-1:1". This causes the connection on fd 17 to appear to come from the same address, which causes the first connection to be destroyed, forgetting all of its watches.