Properly handle atom keys in kw_list_to_string
Merge pull request #2282 from bitwalker/macro-to-string-fixes

Properly handle atom keys in kw_list_to_string
Fix race condition on agent tests
Disallow variables on the right side of in
Prepare elixir_try to be able to handle upcoming map clauses
Convert exceptions to structs
Reduce bootstrap list
Remove dependency on Record.Backend
Deprecate defrecord/3
Add Atom.to_string, Atom.to_char_list and BitString.to_list
Fix false positives when inspecting records, closes #2287
Add typespecs for builtins, __record__, and __struct__

Added typespecs for:

- __FILE__/1
- __MODULE__/1
- __info__/1
- __record__/1, __record__/2, __record__/3
- __struct__/0
Merge pull request #2281 from bitwalker/please-the-dialyzer-gods

Add typespecs for builtins, __record__,  __struct__, exception
Make exception specs match the ones defined in callback
Improve docs for string, process and supervisor
Deprecations should go to standard_error
Do faster expansion on rewrites
Add a test for mix config files
Add iodata_to_binary and chardata_to_string to IO
Add String.to_char_list and List.to_string