Eng 6095 index with address

Don't merge, only for review.

Pass eecheck on local machine, but haven't check the result of Junit test.

I worry about how to deconstruct Key and Data: is the default deconstructor enough?

After refining the code, the next step is to append address to KeyType other than IntsKey.
The alternative is to make them static methods of the test class, but I don't really see the advantage of this.