This is a follow up to #123022 to clean up the resultant verbose parameter passing. We add a new struct `FCurveDescriptor` that contains the parameters needed for either looking up or creating an fcurve, and that in turn is passed down the keyframing call chains where fcurve lookup/creation needs to be done. Pull Request: https://projects.blender.org/blender/blender/pulls/123486