[Chapel Merge] Check for user's `localAccess` calls when making a

Branch: refs/heads/master
Revision: ecd8243
Author: e-kayrakli
Log Message:

Merge pull request #17507 from e-kayrakli/auto-agg-localAccess

Check for user's localAccess calls when making auto aggregation decisions

This PR takes user's calls to localAccess when determining whether one side of
an assignment is local or not, to potentially aggregate it.

use BlockDist;

var distArr = newBlockArr(0..9, int);
var localArr: [0..9] int;

distArr = 3;

forall i in localArr.domain {
  localArr.localAccess[i] = distArr[i];
}

writeln(localArr);

In this scenario, the left-hand side is an array type which doesn't support
automatic local access optimization. We might relax that in the future, but
there'll be cases where the users knows that the access is local and may use
localAccess. In such scenarios, we should be able to tell that the LHS is
local, when making a decision as to whether we should aggregate that assignment
or not.

localAccess is not a very user-facing feature, however, this is a small patch
to support it in auto aggregation.

Resolves https://github.com/Cray/chapel-private/issues/1842

[Reviewed by @mppf]

Test: