import accept :functions and :macros as values in :only

This commit removes the previous ambiguous syntax:

    import :functions, Foo

In favor of:

    import Foo, only: :functions
Print failures for ExUnit as soon as they come
Update CHANGELOG
Deprecate to_binary in favor of to_string

We also rename Binary.Chars to String.Chars.

As Binary.Chars was the protocol used for interpolation,
it is semantically correct to have a protocol that works
on strings, instead of raw binaries.
Update CHANGELOG
Properly order CHANGELOG
Handle when :file.get_cwd returns a binary
Another attempt at cwd handling
Fixed typo in Enum docs
No need to wrap quote do: nil in a block
Merge pull request #1638 from jwarwick/enum_typo

Fixed typo in Enum docs
Fixed doc typos in String and Node
Keep empty strings when splitting

To stay consistent with both `String.split/2` and `:binary.split` we
need to keep around empty strings that are accumulated while splitting.
In the future we could support the `:trim` option to consistently remove
these in call calls to `String.split`.

Fixes #1636
Deprecate def/4 and friends in favor of def/2 with unquote and friends
Supress 'Compiled' msg by default in elixirc

Adds a --verbose option to elixirc

This fixes #1618
String.to_float/1 docs updated
Merge pull request #1644 from jwarwick/string_typos

Fixed doc typos in String and Node
Merge pull request #1645 from vanstee/string-split-repeats

Keep empty strings when splitting
Merge pull request #1643 from pminten/elixirc-silent

Add --verbose to elixirc
Splice nested binaries with default types and size