* Support both integer and string keys in anchored keys
* Podlang parser support for records
* Validate record usage in Podlang
* Lower records to middleware
* Cross-module record imports
* Tidying
* Record entry name literal
* More tidying
* More tests, make sure qualified record literals are supported
* Use snake-case for record entry names
* Review feedback
Adds nicer errors for Podlang code, using the `annotate_snippets` crate, the same crate used by the Rust compiler to generate contextual errors. This prints a short snippet of the code containing the error within the error message, highlighting the part that needs to be fixed.
It also includes a change to the `load_module` function, changing a `Vec` function argument to a slice.
* First pass at removing batch splitting
* Refactor to separate module loading from request parsing
* Consolidate module functionality
* Tidy up comments
* Use array of modules instead of HashMap
* Formatting
* Use module hashes when importing modules