Fixed typos in Mix.Deps.Retriever docs
Implemented Record.__record__(:index) syntax, Issue 1414.
Updated docs to use __record__(:index) instead of __index__
Updated System and Mix to use __record__(:index) syntax
kwlist are inspected as a list of tuples with raw: true
Keep head|tail format on splice, closes #1393
Update CHANGELOG
Merge pull request #1402 from jwarwick/retriever_typos

Fixed typos in Mix.Deps.Retriever docs
Merge pull request #1419 from brunoro/raw-kwlist

kwlist are inspected as a list of tuples with raw: true
Merge pull request #1417 from jwarwick/issue_1414

Fix for Issue 1414, Record.__record__(:index) syntax
Add deprecation warning to __index__ on Records
Deprecate quote binding: in favor of quote bind_quoted:
Raise proper exception on invalid quoted expression

We also documented valid types in Macro.t

Closes #1411
Improve error messages from typespecs, closes #1401
Do not support inline types with defrecord
Update CHANGELOG
Improve error messages for in-erlang macros
Clean up Elixir internal errors

In particular, we reserve SyntaxError for synatx errors (doh)
and for macros that expects a given format at compilation time.

For example, defmodule/2 expects a :do keyword in the second
argument, not providing one is a syntax error.

In other places we impose similar restrictions bue the values
are allowed to be any expression as long as the final result
at compilation time is a given expression, for example:

    when foo in @value

The right side of in can be anything as long it is a list or
a range at compilation time. Those kind of errors are now
CompileError.
Deprecate Kernel.float/1 in favor of explicit conversion
Never allow a comprehension to behave like a guard