maple_tree: Add mas_get_unmapped_area and mas_get_unmapped_area_rev
This adds an interface which was missing for the drop-in replacement for
the mmap code.
It also fixes two issues:
1. Range checking for the upper bounds during a forward allocation walk
in _awalk
2. Checking if the ma_state is in error state during the loop in awalk
prior to calling _awalk. The order was incorrect and could have caused
issues.
I've exposed mas_prev, and mtree_store_range for the mmap code in this
commit as well.
I've renamed a few missed ma_state functions to mas_ instead of ma_.
I've also reorder the header a bit.
Along with the new mas_get_unmapped_area{_rev}, I've added testcases for
them.
Signed-off-by: Liam R. Howlett <Liam.Howlett@Oracle.com>