Cleaning up Module docs
Merge pull request #1995 from jwarwick/module_doc

Cleaning up Module docs
Ensure git scm does not take lock into account when comparing deps, closes #1992
Deprecate continuable heredocs, closes #1986
Change String.next_grapheme/1 and String.next_codepoint/1 to return nil on string end

This is more composable in the sense can use in in if/cond constructs
and also makes it easy to build streams. Closes #1721.
Deprecate Enum.first/1 in favor of Enum.at/2 and List.first/1

The main reason for this change is because `Enum.first/1` does
not communicate that enumeration will happen, in contrast to
functions like Enum.at/2 and Enum.fetch/2 which are meant to
be used with non-indexed collections and the need for enumeration
is made a bit more obvious.

Closes #1983
Update CHANGELOG
Deprecate `<-/2` in favor of `send/2`
Release v0.12.2
Bump to 0.12.3-dev
Ensure heredocs are allowed in calls, closes #1998
Guarantee nullary funs/macros are allowed in guards, closes #1997
Remove deprecated code
Remove @hidden in mix tasks

Instead, we can use the presence or abscence of @shortdoc
to specify if the task should be shown or not.
List iex -S mix at the bottom of mix help
Change precedence of <- to be the same as other generators
Add index reflection to private records

Example:
defrecordp :user, [:name, age]
user(:age) #=> 2
Simplify diverge/override mechanism in Mix.Deps
Deprecates binary_to_term and term_to_binary in Kernel.
Merge pull request #2004 from rcoppolo/deprecate-term-binary-in-kernel

Deprecates binary_to_term and term_to_binary in Kernel.