AP_HAL_Linux: initial Linux AP_HAL
AP_HAL: added AP_HAL_LINUX define
AP_Compass: added HAL_Linux support
AP_Notify: blank Linux LED defines
AP_Progmem: Linux doesn't use progmem
build: added Linux targets
Plane: added HAL_LINUX includes
AP_Progmem: only AVR uses progmem

no need to list all other boards
AP_HAL_Linux: initial I2C driver implementation

this works sufficiently for the HMC5883
AP_Compass: fixed some old Serial.print calls
AP_Compass: added Linux support to the compass test
AP_Compass: neaten up HMC5883 debug
HAL_Linux: switched to pthread based scheduling
DataFlash: enabled DataFlash_File for Linux
build: added -lpthread and SKETCHNAME in build
git: ignore ~ files
Plane: use DataFlash_File on Linux
AP_HAL: make timed processes take void *argument

this allows the class to be passed in, meaning that drivers that use
register_timer_process() and register_io_process() don't need to use
static members. That results in simpler, easier to read code
HAL_AVR: updates for new scheduler API
HAL_AVR_SITL: updates for new scheduler API