Platform: Clean-up stack and heap allocation

Details:
 - ARMCLANG: relocate heap and stack allocation to scatter file
   from start-up assembly, to be aligned with GNUARM
 - Explicitly distinguish main and process stack
 - Reorder the allocation of heap and stack area in
   RAM: main stack, process stack, heap
 - Introduce shared data area b/w bootloader and runtime to exchange
   data
 - Main stack and shared area are overlapping sections in memory,
   to prepare the recycling the shared area as stack
 - Increase bootloader stack size to avoid overflow
 - Remove unnecessary .heap(COPY) section from GCC linker script

Change-Id: Id8702fd9262764814250356868fb8de630b4a1af
Signed-off-by: Tamas Ban <tamas.ban@arm.com>
63 files changed