Add recurse option

When the "recurse" option is enabled all the sub-dependencies of the
project dependencies ar checked as well.

Since the scanning of the sub-dependencies are made in a recursive
mode all the violations needs to be fully collected and sorted before
the report is printed to have them grouped by module.

The module names are printed as a breadcrumbs trail to make it easier
to track down the violating module.