Refactor AssignExp overload mechanism.

Change to recursive call for later fallback mechanism.
Add IntervalExp and fix parser, and disabled test for issue 6789

All of N-dimensional array operations are now translated to ArrayExp.
But currently they are immediately translated to SliceExp, so have no effect.
Translate IntervalExp in ArrayExp::arguments to opSlice!dim(lwr, upr)
Support multi-dimensional opIndex

If it fails, fall back to opSlice for backward compatibility.
Support multi-dimensional opIndexAssign

If it fails, fall back to opSliceAssign for backward compatibility.
Support multi-dimensional opIndexUnary

If it fails, fall back to opSliceUnary for backward compatibility.
Support multi-dimensional opIndexOpAssign

If it fails, fall back to opSliceOpAssign for backward compatibility.
Unmask all test for issue 6798