[sgen] Fix cardtable for huge (>4gb) objects on 64bit.

We use an overlapping card table on 64 bits, meaning that the address
space wraps around our card table (every 4gb).  We had assumed in a few
places that an object could wrap around the end of the card table at most
once, but with objects larger than 4gb that is not the case.

Fixes the corlib test suite crash on OSX/64bit
(in SortedListTest.TestCapacity4).
[corlib] Method signature fixes
[runtime] Fix memory leaks and usage of freed memory in ves_icall_System_Net_Dns_GetHostByName_internal. Fixes #18063.
[runtime] Fix a memory leak.
[runtime] Fix a memory leak.
[runtime] Fix a memory leak.
[runtime] Fix a memory leak.
[Fix] Bugzilla #17897 - MemoryCacheEntryPriorityQueue throws out of bounds after shrink
- when MemoryCacheEntryPriorityQueue grows the timed items after a shrink
  the value of the member variable heapSize is wrong allowing an out-of-
  bounds exception which would normally be prevented by bounds tests
- A test case was added for the out-of-bounds exception
[Fix] Bugzilla #18245 - System.Runtime.MemoryCache.GetValues() throws LockRecursionException with expired items
- GetValues() calls MemoryCacheContainer.GetEntry() which now gets an EnterUpgradeableReadLock needed by ExpireIfNeeded()
- Added a test case