MdePkg/BaseLib NASM Thunk16: Use bits 16 for 16-bit code

By using 'bits 16', we can write code for 16-bit use the actual
assembly syntax rather than 'DB' and sometimes writing code with
seemingly incorrect operands because we know it will run correctly
when the processor is running in 16-bit mode.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
MdePkg/BaseLib NASM Thunk16: Remove remain 'DB' code

Convert remaining 'DB' code to assembly code by:
* Move instruction immediate data labels to end of instruction
* Use strict keyword to make sure immediate data size is not optimized

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
BaseTools: Revert r15816 and r15831 to fix !if in .fdf

r15816: "This patch is going to retire the top level makefile on
BaseTools for supporting a pure binary build without any complier."

r15831: "This patch is going to fix a build failure (running of
GenFds) in Linux system caused by patch at r15816."

Something in these changes causes !if processing to not work
correctly. Reverting these changes appears to fix it.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>