Fix a variety of issues with the language server master
- Handle an edge case when an editor opens a buffer with no corresponding file. This caused grace to raise an error, as it attempted to index into the file. - Implement a cram test for the language server. This uses neovim in headless mode and a lua script that opens a file with errors and verifies that a diagnostic is returned. In the future this can be augmented to verify that other handlers work as well. - Driver.language_server no longer exits when done. - Remove source_path argument from Eval.eval_tree. Sources are kept track of in the tree itself. Dev mode behavior (rendering source paths) should be handled at render time instead of by the presence or lack of an optional value. - Fix a bug in Phases.parse. Now it correctly tries to parse a document. - Fix a bug in Lsp_shims that caused a crash: https://github.com/johnyob/grace/issues/90 - The changes in the test output of queries.t is explained by the fact that some rendering code was changed, thus the hash that is used to generate ids also changed.