libide/lsp: implement find nearest scope

Implement find nearest scope in LSP symbol resolver.

This will make the current scope available for languages where LSP is used (like rust). The original response processing code from get_symbol_tree is now extracted to a common helper function. This is mainly because to get_symbol_tree, and find_nearest_scope are both implemented using textDocument/documentSymbol LSP request.

Fixes #1791 (closed)

Merge request reports