Keep a set of .so handles without creating a llvm::sys::DynamicLibarary for each

Symbol lookup happens through dlsym(0).
Handle 0, i.e. the program image, is the only DynamicLibrary that is created.
Now that we have but one DynamicLibrary ("0") we can remove out patch.
Patch not needed anymore; we only open one DynamicLibrary (0, the process).
Add interface for creating a DyLib from an existing handle.
Add an interface for the ExecutionEngine to look at a RTLD_LOCAL library.
Make static; ROOT must call it before cling::Interpreter is created.
Nobody but I sees dlsym handles const :-) Give in.
Forward libCling handle to cling::Interpreter for symbol resolution.