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 tranparent huge pages by ensuring that
memory returned to the system is always a multiple ogf the huge page size.

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
Should this say && allowHugePages? Does that option affect only non-transparent huge pages? If so then should there be a separate option to disable transparent huge page usage (just in case and/or to be able to to comparative timings more easily?)