Create local C library implementation (1/2)

- This change is split into two separate patches in order to
  simplify the history as interpreted by 'git'. The split is
  between the move/rename and addition of new files.
- Remove dependency on toolchain C library headers and functions in
  order to ensure behavioural compatibility between toolchains.
- Use FreeBSD as reference for C library implementation.
- Do not let GCC use default library include paths.
- Remove unused definitions in modified headers and implementations.
- Move C library files to 'lib/stdlib' and 'include/stdlib'.
- Break std.c functions out into separate files.

Change-Id: I91cddfb3229775f770ad781589670c57d347a154
diff --git a/bl1/bl1.mk b/bl1/bl1.mk
index 7623377..c3f8fbd 100644
--- a/bl1/bl1.mk
+++ b/bl1/bl1.mk
@@ -29,8 +29,8 @@
 #
 
 vpath			%.c	drivers/arm/interconnect/cci-400/ plat/fvp			\
-				plat/fvp/${ARCH} drivers/arm/peripherals/pl011 common/ lib/ \
-				lib/semihosting	arch/aarch64/ lib/non-semihosting
+				plat/fvp/${ARCH} drivers/arm/peripherals/pl011 common/ lib/	\
+				lib/semihosting arch/aarch64/ lib/stdlib
 
 vpath			%.S	arch/${ARCH}/cpu plat/common/aarch64				\
 				plat/fvp/${ARCH} lib/semihosting/aarch64			\