KVM: ARM: Transparent huge pages and hugetlbfs support

Support transparent huge pages in KVM/ARM. This requires quite a bit of
checking and for qemu support to take advantage of this, you need to
make sure qemu allocates pages on aligned to the PMD size.

Signed-off-by: Christoffer Dall <cdall@cs.columbia.edu>