Device Address Field

Added the device_address_ field to KVHDriverNode to allow it to store
the system device address to communicate over. Also modived the
appropriate dynamic_reconfigure callback to set it when fired.

#12
Comment style refactor
Made methods in LinearFilter virtual so they can be overloaded in
sub-classes
Implementing Rotation in OdometryFilter

Added an overloaded version of the update method to OdometryFilter which
rotates the input/measurement values to the odometry frame using
rotation matricies built from the last state estimate

#1
Constructor refactoring / OdometryFilter addition

Refactored the constructor for KVHDriverNode to call numerous
intializaiton methods that handle doing all of the various components of
node construction instead of it all being in a single monolithic
constructor. This improves code readability and debugability.

Also added construction of an odometry filter to KVHDriverNode for
testing  #1, although it is currently not used for anything
Added Odometry Filter Enable/Disable to dynamic_reconfigure

Added a boolean flag for enabling/disabiling odometry data
filtering/output to the dynamic_reconfigure parameters. Implemented a
levels callback for the flad in KVHDriverNode. Also refactored the name
of the IMU Filtering enable/disable paramter from filter to imu_filter.
Added a boolean flag to KVHDriverNode to store the state of odometry
filtering enable/disable.

#1 #13
Added stateToOdometry/imuToState methods

Added a stateToOdometry method in KVHDriverNode which converts the state
and covariance matricies returned by OdometryFilter into a
nav_msgs::Odometry message for use with the ROS system.

Also added an imuToState method in KVHDriverNode which converts a
sensor_msgs::Imu message into a state vector and covariance matrix as
would be returned by the IMUFilter

#1
#13
removed unneded method calcIndex from KVHDriverNode as it was unused
Added a method for converting from continous-time value to descrete time
value
Implemented Odometry Filtering in KVHDriverNode

Added a subscriber to the IMU topic published by the IMUFilter in
KVHDrivernode. Its callback extracts the state/covarance data from the
message, converts it to input/measurement data for OdometryFilter, and
then updates KVHDriverNode's OdometryFilter. Currently there is no
checking of the Enable/Disable flag for odom filtering.

Also refactored a few names in constants to reflect the fact that they
were exclusive to OdometryFilters and not all LinearFilters.

#1 #13
Bug Fix

Fixed bug where perSecToPerSample was converting backwards.
KVHDirveNode performs conditional odometry filtering

A few bugfixes related to typos, and added a conditional check on the
should_odom_filter_ flag for the imuCB that will disable odometry
filtering on command. However, odometry filtering currently doesn't work
properly (it is taking into account rotation now, but quickly goes nan)
due to the covar matrix becoming non positive-definite. This could be
due to linear corrilations between states. For now will leave disabled
by deafult, and open a new issue for futher examination.

Closes #1, #13