Making ArrayHandlePermutation from ArrayPortalPermutaion + UnitTest

- ArrayHandlePermutation is a specializaiton of ArrayPortalPermutation.
- make_ArrayHandlePermutation is a convenience funtiont to make ArrayHandlePermutation.
- The unit test tests generation using a constructor and the make_ArrayHandlePermution().
- Also different types of portals (mutable and unmutable) are used for Key and
  Value portals.
Updated make_ArrayHandlePermutation to take in array handles not portals.
Updated make_ArrayHandlePermutation to take in array handles not portals.
Merge branch 'ArrayHandlePermutation'