Don't --profile with --fail-fast and failures

i.e. don't display slow examples in the output if `--fail-fast` option
is used and there are any failures as it clutters the output.

References #730.
Make JSON formatter behave the same as text formatter

When it comes to `--profile` and `--fail-fast`.
Extract `mute_profile_output?` method
Merge pull request #825 from pjg/disable_profile_with_fast_fail

Disable profile output if there are failures and --fail-fast is used