Cleanups and followups for rand 0.9 choose_multiple_weighted and friends.
This branch adds tests for some of the behaviors of choose_multiple, choose_Weighted, and choose_multiple_weighted that we rely on.
It also warns on several types of internal errors, and adds a few comments.
Closes #1903 (closed).