add a global RNG seed and seed the RNG for rand_r() calls
this fixes that dosuuid wasn't being randomized.
when allocating extended partitions, use disk_get_free_size()