CORE-17256
- Implement support for complex input buffers.
This will enable the IDE driver with some hack
to execute the _STM (channel timing settings) control method.
- Fix a memory leak.
- Fix returned status code.
- Correctly calculate the output buffer size.
- Improve buffer validation.
- Implement support for async control requests.
- Implement local reference conversion.
- Implement support for subpackage argument conversion.
- Place some code into INIT section.
This is a true unit test and runs the same code on Windows as it does on
ROS, so this uses unconditional todos rather than todo_ros.
This avoids test failures on Windows and hopefully makes things less
confusing.