Add semihosting block store

To support test, a block store that uses semihosting file IO
facilities available on virtual platforms and real platforms
with a debugger is added. This uses a file residing in the
host file system for storage. Uses the semihosting component
from tf-a. tf-a is fetched as an external component and the
semihosting code is treated as a platform driver. The platform
definition file defines whether semihosting is avaiable for the
selected platform.

Signed-off-by: Julian Hall <julian.hall@arm.com>
Change-Id: I38f9a13e49676572306158963c14f7b62b30dd1a
23 files changed