error, control effort in diags for viewing * Add ROS private parameters to set Pid params and simulator param * Add Auto/Manual mode: Listen to the /pid_enable topic for a std_msgs/Bool that will disable or re-enable output from the PID controller * Support reverse_acting parameter, for plants where the control input acts in the opposite direction to the plant-state. E.g. Differential-drive robots often have one direct and one reverse-acting PID * Support faster-than-wallclock simulation via a /clock publisher and the /use_sim_time parameter * Add launch files for first & 2nd order behaviors. Get them to launch plots, diag monitor, reconfigure gui * Split setpoint generator out into a separate node * Rename simulator to plant_sim.cpp & give it 1st & 2nd order behaviors, configured with a parameter. * Delete first_order_plant_sim.cpp, which is subsumed into plant_sim.cpp. Remove plant header, which was almost content-free. * Remove msg directory & switch to using Float64 messages for setpoint, process state, & control effort. Now it's generic - no special messages needed. * Explicitly call out std namespace to avoid accidental name conflicts * Remove parameter length checks to allow parameters to be set in part from launch file (the usual way), and in part from cmd line args (an infrequently-used way) * Rename pid_header.h to controller.h because it's used by controller.cpp - more standard C++ naming style * Add copyrights * Contributors: AndyZe, Paul Bouchier