Use 64-bit ints for download sizes

Also, report a better error message if the size is invalid.
WIP: OCaml GUI driver