Dont require [] for keyword list operand in when/2
Dont add [] for last arg keyword lists in tuples, lists and when/2
Change typespec guards to keyword list

Previous syntax:
@spec fun(a) :: b when is_var(a) and is_subtype(b, [a])
New syntax:
@spec fun(a) :: b when a: var, b: [a]
Added links to Regex docs
Merge pull request #1935 from jwarwick/regex_typo

Added links to Regex docs
Fixed doc typos in Kernel and String
Merge pull request #1928 from ericmj/typespec-kw-guard

Change typespec guards to keyword list
Support - lists in ANSIDocs, closes #1937
Ensure arithmetic constants are supported in function heads
Support + for lists in ANSIDocs too
Update CHANGELOG
Release v0.12.0
Bump to v0.12.1-dev
Merge pull request #1938 from jwarwick/doc_typos

Fixed doc typos in Kernel and String
Run tests against erlang R16B03
Merge pull request #1940 from vanstee/travis-r16b03

Run tests against erlang R16B03
Revert "Merge pull request #1940 from vanstee/travis-r16b03"

Travis does not support R16B03 yet.
Fix quote docs

Closes #1949.
Handle unary ops when converting typespec to ast
Make sure IEx r helper does not return a record

The tuple r/1 returns can be a record and IEx will try to inspect it.
Tag the tuple so it will be inspected as a tuple.