Return HardLimitBytes from GCMemoryInfo.TotalAvailableMemoryBytes (#25437)
Return HardLimitBytes from GCMemoryInfo.TotalAvailableMemoryBytes (#25437)

* Add property HardLimitBytes to GCMemoryInfo

This adds a new property HardLimitBytes.

Unlike TotalAvailableMemoryBytes,
this will reflect an explicitly set COMPLUS_GCHeapHardLimit.

It will also reflect the fraction of a container's size that we use,
where TotalAvailableMemoryBytes is the total container size.

Normally, though, it is equal to TotalAvailableMemoryBytes.

Fix #38821

* Remove HardLimitBytes; have TotalAvailableMemoryBytes take on its behavior

* Fix typos

* Separate total_physical_mem and heap_hard_limit
so we can compute highMemoryLoadThresholdBytes and memoryLoadBytes

* Do more work in gc.cpp instead of Gc.cs

* Consistently end names in "Bytes"

Signed-off-by: dotnet-bot <03c4cb6107ae99956a7681f2c97ff7104809a2bd@microsoft.com>

ericstj/corefx,BrennanConroy/corefx,ViktorHofer/corefx,wtgodbe/corefx,ericstj/corefx,shimingsg/corefx,ViktorHofer/corefx,ViktorHofer/corefx,shimingsg/corefx,ViktorHofer/corefx,wtgodbe/corefx,shimingsg/corefx,shimingsg/corefx,ericstj/corefx,wtgodbe/corefx,BrennanConroy/corefx,ViktorHofer/corefx,wtgodbe/corefx,shimingsg/corefx,ericstj/corefx,wtgodbe/corefx,wtgodbe/corefx,BrennanConroy/corefx,ericstj/corefx,ericstj/corefx,shimingsg/corefx,ericstj/corefx,ViktorHofer/corefx,wtgodbe/corefx,shimingsg/corefx,ViktorHofer/corefx