remove guard page counts from heap and cache runtime option values
For heap and cache unit sizes specified in runtime options, we take guard pages out of the requested size: so asking for 64K gives only 56K of usable space for 4K pages. The original logic was tuned for Windows without -vm_reserve where the OS allocation granularity matters and we don't want to waste space.
On UNIX, however, with the new 4K (or page size) vmm blocks, and with -vm_reserve covering most allocations at least for smaller applications, the OS granularity is less important: xref #2597 (closed).
Having the guards included makes it difficult to tune the default sizes based on actual usage (and even more so when guard pages are sometimes turned off). This isssue covers making the heap and cache sizes like the cache sizes where the guard pages are added on top of the requested size. (In #2592 (closed) I removed the debug-build STACK_GUARD_PAGE which was removing a page from the given stack size to make a guard page: now it matches release where what you ask for is the usable size you get, for stacks.)