Handle rebar dependencies better

Download dependencies specified in rebar.config and go through
Converger to handle conflicts.
Handle `sub_dirs` in rebar.config when getting dependencies and
by the sub_dirs to the code load path.
Handle raw option in rebar deps
Remove unintended connections between some doctests
Test ex_unit before doctests
Implement extended doctest sessions. Closes #1020
Little refactoring
Add a test for leaking vars
Remove unused debug output
Make test_doctest target depend on test_ex_unit
Deduplicate test generation code
Add a couple of comments explaining decisions
Clean up the docs for doctests
Minor formatting fixes
Review doctests in stdlib to use extended doctests
Test doctests for ExUnit.CaptureIO
Revert "Make test_doctest target depend on test_ex_unit"

This reverts commit b2d0355ef980eeae2d257aa933b9f416bbd931b9.

Better keep the tests separate as before. It is sufficient to have
ex_unit tests invoked before doctest tests when doing the full `make test`
Don't test DocTest's doctests
Clean up code, add tests, fix bugs found in tests
Include location info in the multiple exceptions error
Give higher precedence to |> than =~