Index and cache procedure declarations as symbols
Improve the language server's capabilities to return procedure declarations as the "symbols" of the project, making them available to editors to display in project-wide symbols searches. This implements the required endpoints and also adds a symbol cache to the LSP process. All Technique files in a project are indexed, and then open files are updated as changes are made.
- Fix parsing of simple Techniques with only top-level steps by @istathar in #86
- Index declarations as symbols for LSP symbol search by @istathar in #87
Full Changelog: v0.4.5...v0.4.6