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

This fix the Enum.sample/1 issue discussed in #2916.

And addresses @lexmag's comment in closed PR #2917.