Sync patches r15385, r15386, r15387, r15391, r15393, r15401, r15403, r15407, and r15410 from main trunk.
1. Report the setting variable failure to platform through the status code when core cannot handle the error.
2. Report the setting variable failure to platform through the status code when core cannot handle the error.
3. Support load 64 bit image from 32 bit core. Add more enhancement to check invalid PE format.
4. Remove RT attribute for variable LegacyDevOrder.
5. Add check to make sure the data be valid.
6. Remove RT attribute for variable PlatDriOver.
7. Update code logic, remove ASSERT and use error handling. 

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>

git-svn-id: svn://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1/MdePkg@15413 6f19259b-4bc3-4df7-8a09-765794883524
Sync patches r15388, r15404, r15405, and r15409 from main trunk.
1. MdeModulePkg/SecurityPkg Variable: Calculate enough space for PlatformLang and Lang variables
   and use PcdUefiVariableDefaultLangDeprecate to turn off auto update between PlatformLang and Lang variables.
2. Calculate enough space for 2 variables (public key and variable data) instead of directly setting them 1 by 1.
   Fixed a bug in public key reclaim().
3. Remove hide TPM support.
4. SecurityPkg Variable: Add NULL pointer check.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>

git-svn-id: svn://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1/MdePkg@15414 6f19259b-4bc3-4df7-8a09-765794883524