Add a take_every function.
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`.
Improve String.split and Regex.split docs

Include examples showing that splitting with an empty pattern results
in a final (trim-able) empty string as discussed in #1688.
Merge pull request #1689 from bruce/string-regex-empty-split-docs

Improve String.split and Regex.split docs for empty patterns.
Rename File.IteratorError -> IO.StreamError

Iterators were replaced with streams a while ago
added handling of multiple heredocs on the same line
List types in docs giving the idea of aliases

The order was changed to follow to explanation in the next paragraph.
Merge pull request #1699 from alg/multiple-heredocs-handling

Handling of multiple heredocs on the same line
Merge pull request #1698 from pminten/rename-iterator-error

Rename File.IteratorError -> IO.StreamError
Update IO docs and clarify bin* functions
Update quote docs

:binding => :bind_quoted.
Merge pull request #1703 from ericmj/quote-docs

Update quote docs
Merge pull request #1702 from ericmj/io-docs

Update IO docs and clarify bin* functions
Merge pull request #1700 from Irio/master

List types in docs giving the idea of aliases
Move Mix.Version to Version in kernel.
Merge pull request #1614 from alexrp/master

Move Mix.Version to Version in kernel.
Merge pull request #1637 from pminten/typedoc-rebased

Typedoc rebased
Avoid duplicatation by making the typedoc signature always an empty list