Remove the need for `CTX_store_copy` and `CTX_store_free` by using C++ copy constructors, unique pointers, and `std::optional`. A few types are made non-trivial to support this.
Remove the need for `CTX_store_copy` and `CTX_store_free` by using C++ copy constructors, unique pointers, and `std::optional`. A few types are made non-trivial to support this.