Enum.sample/1 should raise if the list is empty

This fixes the Enum.sample/1 issue discussed in the issue #2916.

And addresses @lexmag's comment in the closed PR #2917.
Unfortunately this is not enough as an empty dict or an empty hash set won't trigger this. Instead we probably want to change the clause below to something like:

    case sample(collection, 1) do
      [] -> raise EmptyError
      [e] -> e
    end

Or something of sorts. :)