No longer require a terminator for random_choose.

And make it work better for types we might not want to copy.
random_choose_weighted is not affected.

Thanks to PleasingFungus for suggesting this change.