dag: change commit nodes layout algorithm
Current commit layout algorithm returns bad looking graph in several
sophisticated configurations. Defects could be found near commits
a04916944c22fc697f111c869d38e78de36c38a4
24622219fe6d71ba5087666736e797b2cbe13c1e
of Git Cola graph. The ambiguous edge overlapping may confuse a user.
The new algorithm is free of this defects. No other defects were found in
Git Cola graph too. While overall appearance still could be improved there
are no confusing configuration noticed.
The layout technique description is presented by comments in the code.
Signed-off-by: Efimov Vasily <real@ispras.ru>