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

This fix the Enum.sample/1 issue discussed in #2916.