HPCC-12693 Improve the support for huge pages

This patch checks if transparent huge pages are supported, and if so
uses madvise to use huge pages for the allocated memory.  It also avoids
fragmentation problems in the transparent huge pages by ensuring that
memory returned to the system is always a multiple of the huge page size.

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
HPCC-12693 Add transparent huge pages option, default on if they are available

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
Merge pull request #6735 from ghalliday/issue12693

HPCC-12693 Improve the support for huge pages

Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
HPCC-12723 Optimize memory manager using the new functions

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>