Previously, dependency convergence report have below problems:
1. Only take care directive dependencies, not include transive dependencies into analyzing.
In fact, more version conflicting cases are happening on transive dependencies.
2. Only effective for reactor build.
For those single maven project, also need to analyze version conflicting.
3. Show all dependencies in report, even it is a good dependency.
That would confuse users.
4. Without dependency hierachy, it's hard for users to resolve version conflicting issues.
To resolve above problems, have these enhancements:
1. include transive dependencies.
2. effective for both reactor build and single build.
3. only show version conflicting dependency & snapshot dependency in report.
4. show clear dependency hierachy for version conflicting dependency.