Fix a bug when aliases are used with MPI.

Example: you have a vector u with dimension 'x', which has an alias 'y'.  You want to compute a quantity g(x,y) where the 'x' dimension for g is distributed (but u isn't distributed as it only has a single dimension).

Previously, the nonlocal access u(x => y) would be wildly off in this case because the index for the 'x' dimension for the non-local access was the index appropriate when 'x' isn't distributed, instead of the index appropriate when 'x' is distributed.

This patch fixes the above problem and adds a test case to prevent regression.

git-svn-id: svn+ssh://svn.code.sf.net/p/xmds/code/trunk/xpdeint@2855 41b19578-b77a-4e3b-9682-c8570d237623
Make alias dimensions not be preferred for distributing over with MPI.

Previously, if your first dimension was 'x' and it had an alias 'xp', and you had a second dimension 'y', then if you used the distributed-mpi driver, then you would end up with the distributed dimensions being 'x' and 'xp', even though you probably want everything distributed over 'x' and 'y'.  This fixes this behaviour so that 'x' and 'y' will be distributed over instead.  However, if you only have an 'x' dimension and it has an alias 'xp', then you can still use the distributed-mpi driver.

No test case has been added because the simulation will previously have worked, it's just that performance may not have been what was desired.

Note that it is possible that the previous behaviour is desirable.  If such a real-world scenario arises, then this behaviour should be revisited.

git-svn-id: svn+ssh://svn.code.sf.net/p/xmds/code/trunk/xpdeint@2856 41b19578-b77a-4e3b-9682-c8570d237623