Elixir v1.6 introduced Kernel.ParallelCompiler.async/1, which
allows a file to spawn other processes to speed up compilation.
However, the compiler implementation assumed that if the number
of waiting processes were equal to the number of queued files,
it was a deadlock. However, with the introduction of async,
this is not necessarily true, as the async entries can be waiting
too. So this commit changes the compiler to track all spawned
entries.
Closes#8744.