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.
I don't know why some/many tests use different names for the .cpp file and the test class inside the .cpp file.
I would rather see new test files have the same exact name as the class, for example, CompactingTreeMultiIndexTest.cpp .