MatrixPilot_trunk: created new module 'heartbeat.c' with the actual heartbeat functions taken from background.c (not a very fitting descriptive module name for them). syncronised heartbeat with mpu6000 when heartbeat is set for 200Hz. significantly reduced the number of 'extern variable' instances in source modules and moved them to individual header files of the modules they are declared in (this enables the compiler to better keep track of the variable types). made module variables static when possible. moved a few functions across modules to improve encapsulation. created a few new header files and included them in modules as required. slightly abstracted the 'background' callbacks mechanism, and renamed the core callback functions to what i hope are more descriptive names to improve 'self documenting code'. did a few fix ups in states.c which would have caused problems in certain build configurations (more to come, states is a bit of a mess).

SILSIM flight tested, AUAV3 bench tested, UDB5 ground tested at 32Mhz clock & 200Hz heartbeat.
MatrixPilot_trunk: updated MatrixPilot MPLAB-8 and X projects in support of previous commit.
MatrixPilot_trunk: updated RollPitchYaw source, MPLAB-8 and X projects in support of previous commit. RPY yet to be runtime tested.
MatrixPilot_trunk: updated FlashOSD and LedTest tools in support of previous commit. Both still to be runtime tested.
MatrixPilot_trunk: updated SILSIM in support of previous commit. added conditional compilation flags to SILSIM modules as i now include them in my primary MPLAB projects in order to aid global namespace searches.
Merge branch 'trunk'