shallow copy the list of path before adding LD_LIBRARY_PATH

Before this fix the systemPath variable was growing at every invocation
of getPathToLibrary with the values of LD_LIBRARY_PATH
Adding a flag to disable the usage of pathCache

When searching through the modules I need to redo the path lookup
at every invocation of getPathToLibrary, so I need to disable the
cache
keep track of missing dependencies in a separate list

now self.missingDeps keeps track of missing dependencies and self.error
of various errors
search module working implementation

first working version of the search thought the module command to find
unsatisfied dependencies
human readable output
nicer user output