Major changes in structure of code

new calibration_job_definition2.cpp to replace calibration_job_definition.cpp while leaving original intact for comparison

New trigger mechanism added to each scene, can be either. 1. no_wait, 2. ros_param, 3. ros_action_server
Same trigger mechanisms are allowed for cameras as well

New transform_interface which allows transform information to be pushed or pulled to hardware or tf 

Multiple scenes are now supported.  

Target is now a class, not a structure

Tried to make member function have camelCase and member variables to end with under_score_

Added Doxygen comments in many places

Yaml files and parser supports transform interfaces for targets and cameras

Still TODO prior to working demo: Solve the issue of target point correspondence when symetric targets are viewed from different angles. My current thinking is to have the observation_job.yaml indicate the general orientation of a target, then the camera_observer would know that the target is upside down and would reverse the normal order of the points to observation matching. I'm thinking x_north, x_south, x_east, and x_west as options for the  target_x_axis_view_alignment as good way to handle this issue. The developer of the script should know at least that much.