added outer product, index pairs, and tests

index pairs can be used to implement product features
i would really like to do this in a more general way so that
i can incorporate it seemlessly with feature hashing