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>