Convert the struct-like class to be represented by the IDL.
There is a case to be made that the various getFoo/setFoo functions should be obviated and replaced by public member variables in classes like QueryRequest, FindAndModifyRequest, etc. We opened a debate in
SERVER-46115 but do not want to hold up progress to settle this debate, so we will do that in this ticket. Some options:
1) Accept a mix of getters/setters and public members
2) Fall back to getters/setters
3) Replace getters/setters with public members
4) Replace these classes with IDL types
The full list of struct-like classes to be considered is: QueryRequest, FindAndModifyRequest, DeleteRequest, UpdateRequest, AggregationRequest.
Notably, GetMoreRequest has public members.
As a first step, I think we should attempt to convert to the IDL and delete a lot of the parsing code. We can look towards src/mongo/db/ops/write_ops.idl as a good example.