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`.
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
No need to mark typedoc as persisted if we are manually persisting it
Merge pull request #1635 from Raynes/takenth

Add a take_every function
Adjust code to style used in the codebase
Provide better error message for mix -e, closes #1639
Update CHANGELOG
Move to capture syntax
Minor style fix in Enum.take_every/2
Record docs adjustments
Improve invalid match and guard errors, closes #1673
Improve doctest stripping, closes #1678
Provide better exceptions for invalid unquote args, closes #1680
Correction of small typos in Regex docs.