Interleave DAG app orders
Interleave DAG app orders

Assume that the original app order respects the dependency order as supplied by
the rebar3 dependency order. Then what we do is interleave the hard compile-
time dependencies as found by analysis to maintain their ordering constraints
into those given by the dependency order.

This should lower the chance of hitting conflicts when runtime dependencies
become compile-time dependencies via interactions in parse transform calls.

rebar/rebar3,rebar/rebar3,erlang/rebar3