Compass: split compass learning out to its own C++ file
DataFlash: periodically use lseek to avoid NuttX seek bug
AntennaTracker: change to Compass::learn_offsets
Plane: change to Compass::learn_offsets
Copter: change to Compass::learn_offsets
Rover: change to Compass::learn_offsets
AP_Compass: constrain compass offsets to +/- 2000

this is prompted by a user log showing NaN compass offsets, resulting
in a crash. The patch ensures we never end up with NaN offsets, and
also constrains the offsets to a reasonable limit
AC_AttControl: accel limit for roll, pitch yaw rates
AC_AttControlHeli: add ACCEL_RP_MAX, ACCEL_Y_MAX
Copter: init roll/pitch input filters
TradHeli: init roll/pitch input filter
AHRS: fix compiler warning
Copter: throttle rate to simple P controller

Saves at least 15bytes of RAM
AC_PosControl: throttle rate to simple P controller