HAL_PX4: make APM sketches into daemons

this also moves uartA onto UART5, allowing ttyS0 for nsh
AP_HAL_SMACCM: Update to new semaphore interface.

- Renamed files to match AVR HAL.
Use HAL suspend/resume timer procs rather than atomic.

- Preparation for removing begin/end atomic.
AP_HAL_SMACCM: Scheduler timer process implemented correctly.

- Use "g_atomic" for suspend/resume timer procs.
AP_HAL Scheduler: remove begin_atomic and end_atomic from api

* application-level atomic operations can now only be defined in
  terms of suspend/resume_timer_procs
AP_HAL_AVR: deprecate begin/end atomic, timer procs run on resume
AP_HAL_AVR_SITL: remove begin/end atomic, adjust timer procs
Plane: fix handling of sensors HIL startup
HAL_PX4: yield CPU in delay()

this allows other apps to run
Plane: cope with a HIL_STATE packet before GPS init
AP_InertialSensor: added PX4 gyro/accel driver
InertialSensor: added PX4 example sketch
AP_Common: added board ID for PX4
AP_Baro: added PX4 barometer driver
git: ignore some more file types
CPUInfo: begin_atomic/end_atomic have been removed
AP_Compass: first cut at a PX4 compass driver
AP_GPS: pragma pack is needed on ARM

we rely on GPS data structures having byte alignment. Luckily GCC can
cope with this.
AP_GPS: a couple more places where we should restart

this prevents us losing a byte
AP_GPS: ported test code for PX4