This adds the --max-failures flag to `mix test` task. When N number of failures is reached, the suite will be aborted, and return a the total number of tests finished upto that moment, along with the failures. If a module is invalid, all its tests are counted as as failure even though they are reported as invalid.