Revist:Back out fix for secondary issue
Revist:Back out fix for secondary issue

 Ultimate we want this changes that is being backed out herein.
 But it is breaking things because it returns the EINVAL
 when there is a rate overlap. So the rest of the pwm ioctl
 calls then fail and do not set the pulse widths on arming.

 As a secondary issue. We sould call up_pwm_servo_init() to
 establish the PWM channel allocation early. This then allows
 FMU::set_pwm_rate to properly check for improper rate request
 not isolate to one group (timer).

PX4/Firmware,Aerotenna/Firmware,mcgill-robotics/Firmware,krbeverx/Firmware,mje-nz/PX4-Firmware,acfloria/Firmware,mje-nz/PX4-Firmware,mje-nz/PX4-Firmware,PX4/Firmware,jlecoeur/Firmware,PX4/Firmware,dagar/Firmware,mje-nz/PX4-Firmware,dagar/Firmware,Aerotenna/Firmware,acfloria/Firmware,Aerotenna/Firmware,dagar/Firmware,krbeverx/Firmware,mje-nz/PX4-Firmware,mcgill-robotics/Firmware,PX4/Firmware,jlecoeur/Firmware,krbeverx/Firmware,acfloria/Firmware,jlecoeur/Firmware,mcgill-robotics/Firmware,Aerotenna/Firmware,krbeverx/Firmware,jlecoeur/Firmware,Aerotenna/Firmware,mcgill-robotics/Firmware,dagar/Firmware,dagar/Firmware,dagar/Firmware,PX4/Firmware,mcgill-robotics/Firmware,acfloria/Firmware,Aerotenna/Firmware,PX4/Firmware,dagar/Firmware,krbeverx/Firmware,mje-nz/PX4-Firmware,mje-nz/PX4-Firmware,PX4/Firmware,mcgill-robotics/Firmware,acfloria/Firmware,acfloria/Firmware,jlecoeur/Firmware,jlecoeur/Firmware,jlecoeur/Firmware,jlecoeur/Firmware,krbeverx/Firmware,krbeverx/Firmware,acfloria/Firmware,mcgill-robotics/Firmware,Aerotenna/Firmware