Enum.sample using reservoir sampling
guard for Enum.sample/2
eliminate count>=n corner case in Enum.sample/2

plus more tests
don't walk the collection on 0-sized Enum.sample

Previously the code was correctly returning empty sample
when requested Enum.sample/2 count was zero, but the input
collection was traversed for no reason.
test Enum.sample with different random seeds
fix Enum.sample docs

* sample/2 doc was empty
* clarify impl notes, add link to algorithm
* use :os.timestamp in examples of setting the seed
Enum.sample: use Tuple.duplicate for sample init
Enum.sample/2: dedup code in reducer branches
Define value before using it
Fix spec for surround_many
Fix :stderr_to_stdout option
Send elixir version as parameter when installing hex
Make some docs more gender neutral
Merge pull request #2796 from pdericson/gender

Make some docs more gender neutral
Give higher prio to powershell on windows
Fix documentation of IO module
Merge pull request #2803 from dskecse/fix-io-docs

Fix documentation of IO module
Don't crash on malformed proxy env var
Refactor and add new rewrite rules
Purge and delete modules before compiling them