DERBY-6623 DatabaseMetaDataTest fails intermittently

Patch *derby-6623-2a*, which adds an extra ordering [1] using
IndexDescriptor's *getBaseColumns* method as input to
*Arrays.toString()*. This imposes a total order on the rows returned
from the metadata query, so hopefully we get rid of the
Heisenbug. Note that this caused another unique constraint to be
chosen in the example that failed.

[1] *after* the number of columns in the index: small numbers
    before higher numbers since constraints with a small number of
    columns are considered better

The ordering makes sorting stable iff:

    - the row layout doesn't change
    - no indexes or constraint are added or removed.

Mostly, indexes with early base columns will be sorted first (and
selected as best), although not always: "[11,1]" sorts before "[2,1]",
but the main thing is the same index will be selected for the same
(unchanged) database always.

git-svn-id: https://svn.apache.org/repos/asf/db/derby/code/trunk@1605478 13f79535-47bb-0310-9956-ffa450edef68