Sync patches r13648, r13663 and part of patch r13680 from main trunk.
1. Add 4 INIT flags in Debug Agent Library.
2. MdeModulePkg/AtaAtapiPassThru: Move error check behind the place that SetupFIS frame is received. This way is used to avoid that the subsequent operations are treated as failure if the last operation is wrong.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@14275 6f19259b-4bc3-4df7-8a09-765794883524
Sync part of patch r13680 and patch r13708 from main trunk.
1. Update Capsule modules to consume debug agent library to support source debugging in x64 code.
2. Update BootScriptExecutorDxe module to support source debugging on S3 path.
3. When SerialPortWrite() is called with a non-NULL Buffer and NumberOfBytes is passed in as 0, just do a flush.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@14277 6f19259b-4bc3-4df7-8a09-765794883524
Sync patch r13709 from main trunk.
Add type cast to avoid sign extension on x64 tip.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@14278 6f19259b-4bc3-4df7-8a09-765794883524