Initializing yaw orientation from magnetometer reading.

- added magnetometer biases (mag_bias/x and mag_bias/y) for hard-iron compensation.
- add two debug topics: imu/rpy/raw and imu/rpy/filtered. imu/rpy/raw can be used for computing mag. biases. imu/rpy/filtered topic is for user readability only. 
- added an option for tilt compensation and initializing yaw orientation from magnetometer reading.
Ah... so. This is probably a result of us manipulating the magnetometer axes in order to try to get ENU-compliant east = 0 orientations for free. I suspect that we should abandon that path and supply the magnetometer input in the same ROS frame as the gyro and accel, and then have a separate parameter to apply the necessary 90deg offset.

Also, @Shokoofeh, let's put together a REP-103 amendment to clarify the ENU business.