AP_HAL_SMACCM: fix to goofed PPM_MAX_CHANNELS macro
AP_HAL_SMACCM: Panic if taking a semaphore held by current thread.

- Catches bugs with attempted recursive semaphore taking.
Arduino.mk: default config.mk port changed to ACM0 (for APM2)
AP_HAL_SMACCM: Semaphores fixup
AP_HAL: add Scheduler methods in_timerprocess, system_initialize
AP_HAL_AVR: Implement new scheduler methods
AP_HAL_AVR_SITL: Implement new Scheduler methods
AP_HAL_Empty: Stub out new Scheduler methods
AP_InertialSensor_MPU6000: fix sync/async semaphore usage with new scheduler
AP_HAL_SMACCM: Implement new scheduler methods.

- Set the system initialized after call to "setup" in main.
AP_Baro_MS5611: Don't panic if taking semaphore fails during init.

- The MPU6000 holds on to the I2C semaphore for quite some time during
  init, which caused a panic when the MS5611 is also on I2C.
AP_HAL_AVR: main calls system_initialized
AP_HAL_Empty: main calls system_initialized
AP_HAL_AVR_SITL: main calls system_initialized
Merge pull request #4 from GaloisInc/master

Thanks Pat!