New import diagnostics: list problems, list imports [READY]

Let the help/usage message describe what this does:

    $ bin/diagnose_imports --help
    Usage: diagnose_imports option [options]
    
    Import analysis for imports between SymPy modules.
    
    Options:
      -h, --help       show this help message and exit
    
      Analysis options:
        Options that define what to do. Exactly one of these must be given.
    
        --problems     Print all import problems, that is: If an import pulls in a
                       package instead of a module (e.g. sympy.core instead of
                       sympy.core.add); if it imports a symbol that is already
                       present; if it imports a symbol from somewhere else than
                       the defining module.
        --origins      For each imported symbol in each module, print the module
                       that defined it. (This is useful for import refactoring.)
    
      Sort options:                                                                  
        These options define the sort order for output lines. At most one of         
        these options is allowed. Unsorted output will reflect the order in          
        which imports happened.                                                      
                                                                                     
        --by-importer  Sort output lines by name of importing module.                
        --by-origin    Sort output lines by name of imported module.

Supersedes #2535 Import checker [DEPRECATED]