Improves macro expansion stacktraces, closes #2211

We make sure the paths in stacktraces are relatives
and properly point which macros are being expanded.
Disable ANSI on Windows
Convert File.Stat to a struct
Fixing issue with command line parameters getting passed to elixir.bat from iex.bat

Signed-off-by: José Valim <jose.valim@plataformatec.com.br>
Support line numbers in mix test, e.g. test/some/file_test.exs:12
Fix stacktraces for :elixir.eval_forms/4

:erl_eval and :eval_bits can call :erlang.raise/3 with an incomplete
stacktrace, so extend the stacktrace when this occurs.

Mailing list thread:
https://groups.google.com/forum/#!topic/elixir-lang-core/cpSlgBjrRBQ
Convert StringIO to a struct.
Merge pull request #2217 from MSch/string-io-struct

Convert StringIO to a struct.
Merge pull request #2214 from MSch/mix-test-line-numbers

Support line numbers in mix test, e.g. test/some/file_test.exs:12
Move URI and Inspect.Algebra out of Elixir records
Tidy up ExUnit.Filters docs
Fix pruning IEx stacktraces too aggressively
Revert "Convert StringIO to a struct."

This reverts commit a49c539a9d51aef95eb02c84d9d1a2e978b0d574.
iodata_size -> iodata_length
Fix some dialyzer warnings
Merge pull request #2221 from fishcakez/dialyzer_fixes

Fix some dialyzer warnings
Revert "Use esl package to get erlang 17.0 on travis"

This reverts commit 76d0adfe3c0f6914faf31dbcd4ee3e555b599e72.
Merge pull request #2216 from fishcakez/eval_stack

Fix stacktraces for :elixir.eval_forms/4
Merge pull request #2219 from fishcakez/iex_stacktrace

Fix pruning IEx stacktraces too aggressively
Add a test to ensure Code.eval_quoted keeps stacktrace