Set up some proper dependencies in the makefile to avoid needless recompilation.

There are currently some issues in Mix's dependency tracking that
result in some rules being executed needlessly in some cases. See:

* https://github.com/elixir-lang/elixir/issues/759
* https://github.com/elixir-lang/elixir/issues/760
Prettify the test runner output a bit.
Split out individual test categories so e.g. 'make test-parse-pass' works.