[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.
[make] add -Wstrict-prototypes and clean up old C style prototypes

replace all built versions of foo(); with foo(void);
[platform][sam3] fix warning in Atmel code
[kernel] move the top level kmain() out of kernel/ into top/

The kernel shouldn't really own most of the bringup of all
the modules. Generally speaking the kernel can and should be treated
like any other module in the system.
[arch] factor some common parts of linker scripts into a separate file

INCLUDE the parts of the linker script that are specific to lk into
each of the arch's scripts.
[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