intel-iommu: fix page mask and the level of page-table walk in translation

Add some macros about different page sizes.
Use get_level_from_context_entry() to get the level of page-table walk from
context-entry in gpa_to_slpte().
Use slpte to decide the page mask of the translation in iommu_translate().

Signed-off-by: Le Tan <tamlokveer@gmail.com>