LSP Request: Implement folding range

We want to implement various LSP requests that were present in the old language server in the new language server.

Acceptance criteria

  • We implement foldong range from the LSP specification.
  • Tests are added showing it works.