Refactor LeafNodeCodecContext for LeafNodes and LeafSetNodes
Description
LeafNodeCodecContext is now serving a dual purpose, supporting both leaf and leaf-list nodes. This is costing us some complexity in the hot path, which we can avoid by having two separate classes.
LeafNodeCodecContext is now serving a dual purpose, supporting both leaf and leaf-list nodes. This is costing us some complexity in the hot path, which we can avoid by having two separate classes.