Created the outline of the program that will determine the sensor
model parameters using the EM algorithm from page 160
of the probabilistic robotics textbook.

Launches the robot facing a wall. The parameter learning node
gets the wall pose and saves a specified number of scans to run
through the EM algorithm.
Created a model plugin that publishes the wall info as a visualization
message. This allows it to be displayed in RVIZ and the sensor model
learner can now get the exact wall position, orientation and size
Can now set a static spin rate, tilt angle and pan angle in all
launch files
switched to using the box_info topic to get the wall pose and size
Can now calculate the intersection distance according to the map
EM seems to be working. Need to save the params to a file
and clean up the code. Some of the functionality will be useful
in the other programs using the sensor model
Moved most of the functions to a header file. Still could be cleaned up
a lot more
Separated out the em node's specific code from the more
general parameter class and functions.
Added functions that save and load the params via yaml files