Improve ExUnit stacktrace to ignore ExUnit internals traces

Closes #704. Thanks to Yuki Ito for the idea and original patch.
The default formatter of ex_unit should not prints unneeded stacktraces.

Conflicts:

	lib/ex_unit/lib/ex_unit/cli_formatter.ex
Use System.cmd instead of Port.open
Unload sync and async cases from ExUnit.Server at once
Improve test to verify ExUnit.Runner is not in the stacktrace
ExUnit supports many manual runs
Compiler and test runner now check for the number of schedulers online
Deprecate raw in favor of path, closes #703
String.Unicode.lstrip raise error when an argument is not binary
String.Unicode.rstrip raise error when an argument is not binary
Merge pull request #706 from mururu/fix_string_functions

Fix some String.Unicord functions behavior.
Further optimize record calls

* Known records now have their calls translated from `x.function` to
  `X.function(x)`, which is faster and allows tools like dialyzer to
  still work

* `update_*` and `update` now properly keep the inferred record type
By default mark messages in exceptions as binaries
String.first and String.last now return nil
Typespec syntax should support [type, ...] shorthand for nonempty_list(type)
Small refactoring on RecordRewriter
:flags option was deprecated in favor of :switches to support many types

Closes #710
Support << "string" :: utf8 >> as in Erlang, closes #700
Get rid of deps.start

A proper implementation is under discussion and it will
likely be opt-in behaviour.
Align expected and actual values in assertion failure messages.