[platform][pc] Add ide driver using driver model.
[lib] Add ffs FAT FS library.
[lib][libc] Add prototypes for FILE stream API.
[dev] Add UART class driver API.
[platform][pc] Add UART driver.
[target][pc-x86] Add driver config and init.
[ide-ffs] Merge remote-tracking branch 'eieio/ide-ffs'
[make] warn a little nicer if someone is using old INCLUDES and DEFINES
[lib][ffs] fix makefile for new makefile tweaks
[include] add __CONSTRUCTOR and __DESTRUCTOR #define for the compiler
[arch][arm] fix initializer and destructors in the linker scripts
[arch][x86] add KEEP to constructors and destructors
[kernel][timer] Fixup dynamic timer

Modify platform.h to add definitions of hooks required by
implementation of dynamic timer

Disable setting periodic timer if PLATFORM_HAS_DYNAMIC_TIMER
is chosen.

Fix a warning.
[arch][arm-m] properly set all NVIC priorites to medium
[dev] Add offsets for class code components.
[app][pcitests] Add class code to bus dump.
[dev] Add basic framebuffer device class.
[dev] Add C++ guards to headers.
[malloc] Add include of stddef.h for required types.
[include] Add a basic errno for third party libs that will need it.