Rename `RangeIteratorXXX` as `ArrayIterator` or `SubarrayIterator`.

The names were improper.
Rename `Locator.hpp` as `ArrayIterators.hpp`.
Rename include guards.
Update Doxygen docstrings.
Fix header inclusions.
Rename properly typedefs for ND-array iterators.
Fixed renaming issues in unit tests.