PetScan::get_array_size: add extra cache keyed on array identifier
PetScan::get_array_size already maintains a cache of array sizes
keyed on the array types, but this cache is meant to be used
across different arrays with the same type and therefore cannot
distinguish between different such arrays.
Add an additional cache keyed on the array identifier.
This will allow the array size of a given array to be modified
without affecting the array sizes of other arrays.
In particular, this will allow the size expression of a given array
to be replaced by one with substituted size parameters.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>