Remove deprecated code, enable previous soft deprecations
Fix compiler abstract code

Previously the source filename of a module was sometimes a binary, this
change ensures it is always an erlang string.

Previously dialyzer did not know not to auto import bifs as it does not
read the compile options from a beam. This change uses an attribute in
the abstract code rather than a compile option so that dialyzer does not
auto import bifs.
Merge pull request #2199 from fishcakez/fix_abstract

Fix compiler abstract code
Do not wrap single lists in :__block__
Rename the `args` variable to `attrs` or `opts` where appropriate

It is a good convention to have the name "args" refer to variables
that actually contain a list of arguments dispatched to a function
in some way.

When passing a keyword list to a record constructor,
it is referred to as "attributes" or "attrs".

When passing a list of arbitrary options,
it is referred to as "opts".
docfix: delete the extra 'the'
Merge pull request #2201 from jsvisa/code_module_docfix

docfix: delete the extra 'the'
Merge pull request #2200 from alco/rename-kernel-args

Rename the `args` variable to `attrs` or `opts` where appropriate
Improve docs for IO devices
Convert remaining functions in System to rely on char data
Extract hex functionality to common module
Remove Mix.Dep unloaded in favor of a direct converger call
Convert regexes to structs
Convert Range to struct
Update CHANGELOG
Fix error when cleaning single dependency
Fix git checkout when directory already exists
Make ExUnit.Filters convert to_string before matching. Fixes #2064.

Makes mix test --only line:9 or --only "test:Test Message" work.
Make HashSet and HashDict structs
Merge pull request #2206 from MSch/exunit-line-numbers

Make ExUnit.Filters parse integers and match atoms to binaries.