[LIBS] Generic libs/unaligned.h for unaligned accesses

There may be scenarios where we may require explicit unaligned
access to u16, u32 or u64 variables.

This patch adds an adapted version of generic unaligned access
headers from Linux source.

Signed-off-by: Anup Patel <anup@brainfault.org>