This moves the ability to get an iterator from an array portal out of the portal itself. The next step is to move the GetIteratorBegin/End out of ArrayPortal. This should make the implemenation a bit cleaner.