[include] add stdbool.h according to C99
[include] remove stdbool.h and stddef.h, which should come from the compiler

-move def of ssize_t to sys/types.h, which may not be entirely correct
[include] rearrange some locations of defines to better match C99

Conflicts:
	include/app.h
	include/compiler.h
[include][sys][types.h] switch ssize_t back to unsigned long

This is really the proper type for all the arches lk cares about.
Also include stddef.h for size_t.
[include][sys] add shorthand integer types

u8/u16/u32/u64 and s8/s16/s32/s64 for those who prefer minimum verbosity
fix compile after stdbool update
[lib][ext4] add lwext4 ext4 library
[lib][ext4] update to 0.6.0
[lib][ext4] blockdev: add field for private driver data
[lib][ext4] add mmc blockdev driver
uboot_api: don't disable fastboot before booting

the device stops working when you disable fastboot when it wasn't enabled.
fastboot isn't enabled while running GRUB anyway - it was just a development feature.
[lib][ext4] ignore needs_recovery flag in readonly mode and enable RO mode by default