MARRAYREF: fix the bogus indexing into hash tables and fast arrays
This is a very old Maxima bug (present in 5.0).
If only one index was given to MARRAYREF, then NIL was used as the
hash table key instead of the given index.
This bug affected various things, such as arrayapply, translated array
references and translated calls to subvar.
(%i1) use_fast_arrays : true$
(%i2) a[false] : 'wtf$
(%i3) a[3] : 5$
(%i4) arrayapply (a, [3]);
(%o4) wtf
(%i5) foo () := block ([b], b[1] : 2, b[1])$
(%i6) foo ();
(%o6) 2
(%i7) translate (foo)$
(%i8) foo ();
(%o8) false
No problems with the test suite or share test suite. New tests have
been added to rtest2 and rtest_translator.