Design By Contract

Instead of waiting for more capabilities in ROS2 it is probably more valuable to add more capabilities to the current ROS1 framework. Without DbC on the ROS node level one can verify the ROS node interface with rostest. Currently the set of reusable test nodes is limited. What about adding more generic test nodes like fake topic publishers (draft state) to ros_comm? (The example tests can be run with catkin_make run_tests_rostest_rostest_test_faketopicpublisher.test and catkin_make run_tests_rostest_rostest_test_faketopicpublisher0.test in the catkin workspace. Quick start guide about the other generic test nodes of rostest.).