Redmine#6674 Modifying hashing function for multi-indexed arrays

When using multi-index arrays hash function is looping through each
character in index without modifying hashed value once moving form one
index to another. That's why entries like a[te][st], a[tes][t], a[t][e][st]
and all other variations are resulting in having exactly the same hash.
While trying to add new array entry to RB tree having the same characters
in indexes previous entry is updated instead of new one being created.
Array A element 10 ```A[10]``` hashes the string  ```A10[```.
Array A1 element 0 ```A1[0]``` hashes the string ```A10[```.

Do I get this right? I believe you could avoid it by doing this ARRAY_SEPARATOR_HASH five lines earlier in the code, right before the inner loop.

All that until we completely get rid of hashing before putting in an RBTree.