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`.
Add bit about documentation style to CONTRIBUTING
Merge pull request #1658 from pminten/doc-guidelines-in-contributing

Add bit about documentation style to CONTRIBUTING
Update record docs style
Add Enum.concat/1,2 and Stream.concat/1,2
Deprecate List.concat/1,2
Replace occurrences of List.concat/1,2 with Enum.concat/1,2
Move the List concat tests to Enum
Add support for enumerables of enumerables
Add tests for Stream.concat/1,2 and Enum.concat/1,2
Merge pull request #1660 from betawaffle/enum-concat

Add Stream.concat/1,2 and Enum.concat/1,2
Add note to Enum to clarify what's returned

In particular clarify that infinite streams don't work with many of the
functions.
Merge pull request #1662 from pminten/note-about-enum-list-return

Add note to Enum to clarify what's returned
Improve Enum docs
out of it -> as result
Make a distinction about eager and full evaluation of the collection
Fix Stream.take/2 and Stream.take_while/2 for Stream.Lazy