Update altimeter drivers so they do not include "board.h". It is now
clear what all altimeter drivers need to compile and what was
unnecessarily included before.

Moved some platform specific configuration from board.h into platform.h
Update i2c/spi drivers so they do not include "board.h". It is now clear
what all i2c/spi drivers need to compile and what was unnecessarily
included
before.

Renamed printf_config.h into build_config.h, move SOFT_I2C toggle switch
to build_config.h.
Update compass drivers so they do not include "board.h". It is now clear
what all compass drivers need to compile and what was unnecessarily
included before.

LED macros now moved into light_led.h
Update gpio/ledring drivers so they do not include "board.h". It is now
clear what all gpio/ledring drivers need to compile and what was
unnecessarily included before.
 
In attempting this it was clear that ledring had a dependency on the
multiwii code, this was removed by passing the led status update method
the values it needs.

It also turned out that the ROLL/PITCH defines were coming from
rc_alias_e and much unrelated code is coupled to these defines.  This
commit also includes some cleanups relating to that problem.
Update pwm drivers so they do not include "board.h". It is now clear
what all pwm drivers need to compile and what was unnecessarily included
before.
Update serial drivers so they do not include "board.h". It is now clear
what all serial drivers need to compile and what was unnecessarily
included before.
Update system/beeper drivers so they do not include "board.h". It is now
clear what all system/beeper drivers need to compile and what was
unnecessarily included before.

Extracted system beeper code to a separate file.
Update sonar drivers so they do not include "board.h". It is now
clear what all sonar drivers need to compile and what was
unnecessarily included before.
Update timer drivers so they do not include "board.h". It is now
clear what all timer drivers need to compile and what was
unnecessarily included before.
Relocated used code from board.h into appropriate headers, deleted
unused code.
De-couple battery code.

This fixes a bug where buzzerFreq could be uninitialised before it's
use.
This improves performance by only checking whether to sound the battery
alarm after the battery voltage has been recalculated.
There were unused battery beep codes which have been deleted to save
code size.
Configuration structure extracted from mw.h into config.h.
Moved mixer configuration structures into flight_mixer.h.
Added a build_config.c in order to decouple pwm_common.h from config.h.
Finally, battery configuration values now live in a batteryConfig
structure which means that battery.c does not depend on config.h and all
of it's dependencies.

Fixed the use of plurals on defines that were not collection objects.
PIDITEMS and CHECKBOXITEMS are now PID_ITEM_COUNT and
CHECKBOX_ITEM_COUNT.
Fixing FY90Q build.  Cleanup of printf support and initialisation.
Remove duplicate inclusion of math.h in board.h.
Removing unused define for a uart buffer size.
Removing unused define for MAX_SERIAL_PORTS.
Decouple board alignment code.
de-duplicate degrees to radians code.

Note, this also makes the operator precedence clearer.
de-duplicate failsafe code.  extract failsafe code to seperate files.
remove dependency on board.h and mw.h on a few files.

Moved rx configuration paramaters into rxConfig in order to remove the
dependency on config_t from the sbus rx code  - sumd/spektrum to follow.

Avoided use of YAW/PITCH/ROLL in some files since those constants are
from an unrelated enum type.

Replaced some magic numbers with constants to remove comments and
improve code readability.

Note, due to the tight coupling and global variable usage it was
difficult to create a smaller commit.
Remove spektrum and sumd's dependencies on the mw.h/board.h files.
Rename 'altimeter' related files to 'barometer' since GPS and other
sensors handle altitude too - requested by @treymarc