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
Added :read_link option, doesn't break current tests, needs new tests
Added File.lstat and File.lstat! functions and associated tests.
These functions are elixir versions of the unix lstat function.
Based on email from Paulo Almeida, I removed the apparently extranous calls
to IO.char_data_to_string in the stat! and lstat! methods.
Revert "Based on email from Paulo Almeida, I removed the apparently extranous calls"

This reverts commit cd5ed1db59d1f93197fef72311e59cb42ed2ebc4.

Based on looking in the rest of file.ex and the foo and foo! methods,
they all use this same pattern. It's really kind of moot since
IO.char_to_string is almost always a single if_string return.

Either they should all be fixed, or they should all stay the same.

It might make sense to write a generalized bang macro.
Revised tests to use tmp_path for file paths.
improve important links

* First link should be  Elixir Website
* Elixir documentation added.
* IRC line improved
link to docs.html

updated as per jose's suggestions
fix floating point approximation error
Fix GenServer.cast/2 docs

Removes ambiguity about what occurs when an atom is used to reference a
GenServer.

Clarifies comment about another process being used to send a cast in
OTP. Another process is only used if there is no connection the node and
only casts to other nodes are not guaranteed to arrive in order.
Merge pull request #2897 from fishcakez/server_cast_typo

Fix GenServer.cast/2 docs
Document --unlock flag in deps.clean
Add number of skipped tests to ExUnit output

- Skipped tests now count toward the total
- Include number of skipped tests in runner return
value:

Before: %{failures: 0, total: 3}
After:  %{failures: 0, skipped: 1, total: 3}