test-user-cancel: Make this test choose smaller cancellation numbers.
Use a Gaussian distribution for random numbers so that smaller numbers
are chosen more frequently.
This also exposes a bug in this test which only happens when small
numbers are chosen:
If the test thread starts up quickly, it can get to
guestfs_user_cancel before the guestfs_upload command has happened in
the main thread. This causes the cancel to be ignored (correctly) and
we end up in the second loop writing data until the disk runs out of
space. Fix this by repeatedly asserting the cancel flag in the second
loop.
(cherry picked from commit
62909197d120c01cc86095518aacca9d4ad268dd)