Disallow &-partial calls on the right side of |>
Implement assert_compile_fail

The format_rescue function has been found useful in multiple instances,
so it made sense to generalize it into its own assertion.
Reimplement =~ to use Regex.match? or String.contains?
Use =~ with strings where it makes sense
Mostly done. Still need to fix warning printout.
Experiment with how to pass back status. process dictionary doesn't work.
a little closer, status is passed to main process
Pass exit status to callback so we can decide there whether to stop or not.
Fix tests that expect the parallel compiler callback to only pass one parameter.
Update parallel compiler callback documentation
Unwind a lot of the wrong direction, output warnings based on warnings-as-errors setting
Implement José's suggestions.

1. Detect all places in elixir_errors:handle_file_warning/3 where we
output something with io
2. Change those places to go through an internal function that will
call elixir_compiler:get_opt and figure out if we should print to
stdout or stderr and act accordingly
3. In the same function above, whenever we print a warning as an error,
we should store somewhere that a warning as an error happened. I
recommend storing that in the elixir_code_server gen server
4. Provide a Code.compilation_status that would return it
Don't pass warnings-as-errors to module since it isn't needed
print compiled even if compilation_status is not :ok it may have been from another file. Halt on an :error
Implement Mix.Version, closes #1115
Replace @export_type with @typep in the docs

Elixir automatically generates corresponding @export_type attributes for
public types
Optimize doctest generation. Closes #1226
Merge pull request #1233 from alco/1226-doctest-perf

Optimize doctest generation. Closes #1226
Implicit super arguments is deprecated
Merge pull request #1234 from mururu/deprecate-implicit-args

Implicit super arguments is deprecated