Fix the usage of `embed_elixir` in escript.build
Merge pull request #2502 from alco/escript-embed-elixir

Fix the usage of `embed_elixir` in escript.build
Ensure we don't loop when printing inspect failures, closes #2503
Add comments to code:ensure_loaded/1 snippets
implement IO.(bin)read which accept `:all`

IO.(bin)read(dev, `:all`) reads all contents from device

Signed-off-by: José Valim <jose.valim@plataformatec.com.br>
Slightly improve IO docs
Update CHANGELOG
Use line from :keep when there is a :file meta in definitions
Emit :file attribute on all nodes instead of a select few
Make elixir_errors API more strict and consider :file in meta
Do not call handle_file_warning directly
Do not allow deps names on mix deps.get

Closes #2507.
Use short filenames to handle spaces in path to bin\mix
Merge pull request #2508 from chyndman/mix-bat-short-names

Use short filenames to handle spaces in path to bin\mix
Mention app: false on no app error
Add performance note to String.slice/1
Require Record before in defrecord samples
Use sigil syntax in Macro.to_string
Merge pull request #2511 from ericmj/macro-tostring-sigils

Use sigil syntax in Macro.to_string
Improve cannot pipe error