Basic commit of the InvenSense Embedded MotionDriver 5.1 and start of wrapper file
IMU: example folder rename
IMU: Trying to get it to compile but not easy mixing c/c++
Merge branch 'master' into feature/mpu-6050

* master: (42 commits)
  Typo's
  Update variant.h file for v0.2 PCB's
  Make light levels exponential
  Fixed task switch. FlashLightApp now has a brightness controll
  App switcher
  Add App class, add homescreen app (which does nothing more than blink at the moment)
  Load on startup
  Make debug task a Task object, too
  Button task simplified, moved queue and subscribe logic in different file
  Halfway through coverting tasks
  Use SerialUSB for debugging
  Remove linked list
  Update README.md
  Stitched together the README
  Remove surplus folder
  Remove test app
  Button, RGB and torch mode are working now
  Enable xTimerPendFunctionCall
  Adds a test app that uses multiple tasks, semaphores, queues and interrupts
  EMF2014: Setting down the basic file frame work for the main badge firmware, giving each task its of .cpp/.h file to work in and a main EMF2014.ino to handle the basic setup
  ...
Merge commit '424a471e3e0b365bb98400894e4f784dc6478854' into feature/mpu-6050

* commit '424a471e3e0b365bb98400894e4f784dc6478854':
  Readme update as we now require 1.5.7 IDE to build
  Updated bords.txt, Adding board for v0.333 and updating names on v0.2
  RTOS core: Based on Arduino 1.5.7 to me modified as needed
  Updated core files including libsam to Arduino 1.5.7
Update to motion driver 5.1.2 (relaxed 2/28/2014) and move I2C commands out to a nice wrapper to handle c/c++ mix
Finally got wrapper around motion driver wrapper compiling.
Expanding MPU example base on MSP430 sample
MPU: I2C Wrap tweaks, added missing Wire.begin, Example Sketch is working
IMU: Finally working IMU inside RTOS, also have a TiLDA_MPU_RTOS example sketch
Merge branch 'master' into feature/mpu-6050

* master: (43 commits)
  Adding PIEZO_PWM pin definition that can be used with analogWrite()
  Forgot to swap buttons in variants file
  Add rtc to API
  Set time when discovery packet is received
  Add modified library
  Protect logHWM, fix frRGBTask, remove frLightFadeTest
  Allow Apps to be opened through Tilda API
  Move RGB Led functions into Tilda api
  Add delay to Tilda API
  Move createButtonSubscription and log into Tilda class
  Add helper function for not-yet-set badge id
  Add badgeId field to SettingsStore
  Fix errors
  Add simple sketch that displays unique id
  Typo
  Add DueFlashStorage library, create SettingsStore class that reads unique id from the M3
  Adding some const. AppManager now not static.
  Prefixing debug::log messages
  Revert "Add public API - Attempt two"
  Now deserialsing schedule info.
  ...

Conflicts:
	EMF2014/DebugTask.h
	EMF2014/EMF2014.ino
	EMF2014/IMUTask.h
IMU: fixing complie error
Merge commit '0954ad57a4f011c3351ee44329a06263f84abd2a' into feature/mpu-6050

* commit '0954ad57a4f011c3351ee44329a06263f84abd2a':
  Debug Library: Reinstate protection around logHWM()
  Move debug task into library

Conflicts:
	EMF2014/EMF2014.ino
IMU: convert to Tilda::delay()
Merge branch 'master' into feature/mpu-6050

* master:
  Fixing RGBTask and change LED home screen to not blind us.
  PMIC: adding task start, and interface to Tilda.h, fixing other stuff
  PMIC: First pass at event group base task, not tested
IMU: adding TODO's
Merge branch 'master' into feature/mpu-6050

* master: (40 commits)
  LCD: cleaning up #include syntax style
  Move m2ghglcd.h into M2tk.h
  Display EMF Logo in Home Screen
  Initalise LCD
  Update Task.cpp
  Add 90 and 270 degree rotation
  Set default rotation back to 0
  Add support for Adafruit ST7565 LCD for non-badge testing, and fix pagemap
  Correct 180 rotation issues, and update to new api
  Fill the rest of the data with 0.
  Lots of changes
  Fix some RadioTransmitTask things.
  RadioMessageHandler interface.
  Add an empty RadioTransmitTask.
  Rename RadioTask to RadioReceiveTask.
  Allocate the ButtonSubscription on heap and return pointer instead of copying on the stack.
  Fix outgoing messages manager.
  Move lcd width and height to function
  Add skeleton for a class that handles outgoing messages
  Formatting, including fixing bracket issue in macro in gText.h
  ...

Conflicts:
	EMF2014/EMF2014.ino
IMU: Clean up, correct orientation for default of hung might need to swap for held, should only interrupt for gestures
Merge branch 'master' into feature/mpu-6050

* master: (41 commits)
  Forgot to add PIEXO_PWM to v0.333 variant
  Log RSSI
  Use correct serial port and pins
  Fix mistake while merging.
  Change AT mode pins to the correct ones
  One more radio debug category
  SettingsStore can have multiple observers and they are mutex protected
  Delete RGBDFade.ino
  Make the badge notification non-static, but give access to BadgeNotifications through Tilda.
  Parse the badge notification message.
  badge notification things
  Add GUI task to new TiLDA interface
  Use the app_ctor typedef on the Tilda class.
  make it clear in the logs that we're deleting the app.
  Add app list to app manager.
  Revert "The flashlight task doesn't like to be killed."
  Need to remove the button subscription queue from the button interrupts on destruction.
  Minor tidying to the app manager.
  Add BadgeNotifications class - This is just a mock at the moment
  Allow M2 root to be set from other tasks, add test to HomeScreenApp
  ...

Conflicts:
	EMF2014/EMF2014.ino
IMU implement orientation callback method via AppManger
Active App will get a a call to App::newOrientation(uint8_t) (if implemented) ever time the orientation changes
Others can use the Tilda::getOrientation() to find the current orientation
see enum Orientation_t for mapping