ocaml: use Lwt.pick instead of Lwt_list.iter_p so that aborted threads are actually cancelled