Merge pull request #1201 from alco/exunit-docs

Extend ExUnit docs
Ensure default calls are connected in dispatch tracker
Fix iex -S mix on Windows
Wrap rebar command on windows inside escript.exe
Add tests for compile_string and compile_quoted, closes #1206
Fix Enum.uniq/2 spec
Merge pull request #1208 from mururu/fix-spec

Fix Enum.uniq/2 spec
Remove unneeded `case`

`:os.type/0` always returns a tuple in R16B
to_binary for URI.Info do not ignore the path
Merge pull request #1209 from mururu/rm-case

Remove unneeded `case`
Convert project stack to records
Merge pull request #1211 from mururu/to-binary-uri-path

to_binary for URI.Info do not ignore the path
Dont run any tasks recursively from another task

The only time a task may run recursively is after a new project has been pushed to the stack.
Merge pull request #1198 from ericmj/patch-1194

Dont run deps tasks recursively when they are started non-recursively
Optimize downcase, upcase and rstrip in Unicode
No need for accumulator on downcase/upcase
Add a few sanity check tests for upcase & downcase
Reimplement =~ to use Regex.match? or String.contains?
Use =~ with strings where it makes sense