Correct #rand to return nil when set is empty

Hi, I'm not sure if the current behavior of `Multiset#rand` while empty is intended, but it seemed like a bug to me. This changes the behavior to return `nil` if the set is empty, mirror `Array#rand` with an empty array.

Before:
```ruby
>> Multiset.new.rand
=> {}
```

After:
```ruby
>> Multiset.new.rand
=> nil
```