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