[TOP] Add support for linking binary data files to final ELF

Having ability to link binary data files (or binary blobs) to the final
Xvisor ELF can be very helpful for upcoming virtualization frameworks,
drivers, and emulators. As an example, various language based keyboard
layouts (which are purely text data files) will be required for emulating
virtual keyboards.

This patch adds support for converting .data file to .o file and linking
it to final Xvisor ELF. The linked binary file can be accessed directly
from .c or .S files with deterministic link-time symbols.

For example, <xvisor_source>/core/xyz-123.bin.data file will be linked
to Xvisor ELF as <xvisor_build>/core/xyz-123.bin.o file and the contents
can be accessed using:
(Start symbol) _binary_core_xyz_123_data_start
(End symbol)   _binary_core_xyz_123_data_end
(Total size)   _binary_core_xyz_123_data_size

The constraints in above described mechanism of linking binary data files
to Xvisor ELF are:
1. If a binary data file has extension different from .data then we need
to explicitly append .data extension to file name.
2. The binary data file has to present in the Xvisor source directory and
not in the Xvisor build directory.

For now, the above constraints seems reasonable enough.

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