use pure erlang function to judge the erlang version, no shell.
Merge pull request #2530 from qingliangcn/master

use pure erlang function to judge the erlang version, no shell.
Ensure type_to_signature works for all AST variables
Revert "Merge pull request #2530 from qingliangcn/master"

This reverts commit 42875c0b72863aa3f263ad227ffc7c454c001ae6, reversing
changes made to be320880b2231c6933a87fea335612cafbfeea7f.
Updating System.cmd return types
Merge pull request #2531 from jwarwick/system_cmd_type

Updating System.cmd return types
Insert new line after IEx clear message
Optimize String.slice by using binary_part
Merge pull request #2536 from alco/string-slice-speedup

Optimize String.slice by using binary_part
Add linearity notes to Enum.fetch and friends
Improve description of operations that takes linear time
Update doc for GenEvent.stream/2

- GenEvent streams are not two way, so remove language suggesting that
you can notify via the streams.
- Clarify that consumption doesn't start until we enumerate.
Merge pull request #2539 from hamiltop/update_genevent_stream_doc

Update doc for GenEvent.stream/2
Call Mix.start, Mix.CLI.main directly in bin\mix.bat
Remove non-existing from argument from handle_cast

`handle_cast` does not support a `from` argument and this example will crash if it has one.
Merge pull request #2544 from eproxus/patch-1

Remove non-existing from argument from handle_cast
Merge pull request #2541 from chyndman/mix-bat-exec-directly

Call Mix.start, Mix.CLI.main directly in bin\mix.bat
Ensure all elixir dependencies are started before hand, closes #2542
Added Map.from_struct/1

Signed-off-by: José Valim <jose.valim@plataformatec.com.br>
Also allow structs atoms on Map.from_struct/1