Another attempt at fixing project_tree.

The previous fix didn't account for canari commands trying to call
project_tree outside of a canari project directory.  In this case, we
want to look at installed packages.

Thus the function now takes a package name as argument as well, and if
we determine that we aren't inside a canari project directory, then we
will try and search the list of installed packages.

Another notably change, is that the function now handles multiple
transform packages inside a single canari project.  Multiple transform
packages are essentially different python package (modules/directories)
inside the src folder, just as distutils/setuptools defines them in
setup.py.
If the canari project contains multiple transform packages
and a specific one hasn't been given as the argument, then it will ask
the user to pick among the available packages.

The returned dictionary is almost identical whether we find a transform
package inside a canari project directory or installed on the system.
Only the root information is missing if we are dealing with an installed
package.
In any case, 'pkg_name' has been added as a new value, such
that we may know which transform package was 'chosen' either by the user
or automatically if there was only one possibility.