Merge the new libc implementation
This merge introduces a project specific C standard library
implementation which replaces newlib. The main motivations are:
- solve the portability limitations caused by newlib's build-system
- move to a smaller and better controlled implementation in order to
reduce the risk of errors due to unneeded complexity
The libc implementation used it not newly written code, but a fork of
the libc code used in the Trusted Firmware-A project. Some small
modifications were made, and the library was extended by a heap
implementation (dlmalloc) which the original was lacking. For more
details see the commit messages of the topic branch.
Change-Id: I6c7730ee75f233eac6c0409de888dcf424f3d7b4