[Documentation] Allow link following between providers
Introduces a new method `documentation` to the controller and IDocumentationProvider. Similiar to `documentationForDeclaration` a provider either returns a Documentation if it has a corresponding documentation or a null pointer otherwise (providers that don't have a mapping from URLs to Documentations like the CMake one always return null). This allows the providers to instruct the controller to open documentation URLs that the User requested and are outside their responsibility. Examples for this are links between different Qt modules when not using the system documentation (each file will have its own provider) or links from Frameworks documentation to Qt when they are installed in different directories.