Merge pull request #1630 from Raynes/chunks_by

Add chunks_by
Make a distinction in between overriden and converged, closes #1631
Deprecate :umbrella path opt in favor of :in_umbrella

The previous :umbrella option was ambiguous, as it was not clear
if it was a dependency inside an umbrella or an umbrella dependency.
Update CHANGELOG
Add a pair of even and odd checking functions.
Fixed doc typos in Code and Path
Merge pull request #1634 from jwarwick/path_typo

Fixed doc typos in Code and Path
Merge pull request #1629 from Raynes/is_it_even_odd

Add a pair of even and odd checking functions
Add a take_every function.
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
Add a `@typedoc` attribute to document types

Also a new `Kernel.Typespec.beam_typedocs` function to get the typedoc
information.
Remove unneeded empty lines in the typedoc tests.
Use `typedoc` attribute to store typedocs.

This requires a bit of a workaround because `typedoc` is also used to store the
doc of the next type to be defined. We store typedocs in the docs table when
types are defined and later filter them out and put them into `typedoc`.