Wrapper for roslaunch functionality, which must be run on a “main” thread.
Use the roslaunch API within its own process to prevent threading issues and minimize
re-implementation within the NRP. Provides clean startup/shutdown/exception handling.
Terminate the roslaunch process and any child nodes.