Commit a lot of stuff before the start of the build system refactoring

3rd Party:
 - gtest & gmock
 - bcm2835
Start to implement the MCU and device abstractions for pi