Fix behavior of Leaf context encoding and improve Leaf errors
This patch was authored and released by @gwynne.
Types which use superEncoder(forKey:)
in their Codable
conformance (such as Fluent models) can now safely be provided to Leaf views as context objects. In general, handling of context encoding is significantly improved.
LeafError
now conforms to AbortError
and DebuggableError
for improved error UI/UX.