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.
Add @spec for `main` in escript

Signed-off-by: Mikhail S. Pobolovets <styx.mp@gmail.com>
Merge pull request #2902 from styx/add_spec_for_escript_main

Add missing @spec
Fix typo in module documentation
Merge pull request #2905 from L8D/patch-1

Fix typo in module documentation
Fix splitting of empty strings on regex with trim: true

Make String.split and Regex.split called on empty string with
trim: true return []. Add testcase for String.split, fix incorrect
testcase for Regex.split.
Fix string splitting on regex when both :trim and other options are present
Merge pull request #2906 from eugmes/empty-string-split-fix

Fix splitting of empty strings on regex with trim: true
Merge pull request #2814 from bbense/file-lstat

File lstat implementation