Fix null reference handling in VSD stubs on amd64
When null "this" pointer is passed to the VSD dispatch and resolve
stubs on amd64, it is not converted to NullReferenceException and it
generates AccessViolationException instead, tearing down the process.
This happens due to the fact that AdjustContextForVirtualStub always
returns FALSE on amd64. It behaves correctly on ARM, x86 and ARM64.
This issue has been present at least since .NET Framework 4.5.
This change fixes it by implementing the AdjustContextForVirtualStub for
amd64 too. I've also found that we were doing this adjustment for ARM
and x86 only at some places while ARM64 needs it too. So I've made it
unconditional for all architectures at all places.