Add x86_64 EFI relocation function from GNU-EFI project.

Original file is gnuefi/reloc_x86_64.c  in GNU-EFI.

From GNU-EFI commit 8f5ba0e
http://sourceforge.net/p/gnu-efi/code/ci/8f5ba0e4fd398d49c0004164d18e50fb6acd36ca/
Renamed to relocation_func.cpp.

Use a generic filename for relocation function. The directory tells
what arch the function is for so we can use simpler logic in the
Jamfile.
Switch to .cpp ending as our boot/elf header uses C++ features.
Remove efilib header, use extern "C" block.

Removed #include <efilib.h> as we're stripping down GNU-EFI.
Added extern "C" block around _relocate function to avoid name mangling.
Whitespace cleanup.