Update ProductIndex to load events more efficiently
An example event that is currently failing:
This event has 1600+ products, and the current ProductIndex implementation executes 3 queries per product (plus a couple others). These queries should be optimizable to 3 queries total for all products in an event (one for productSummary, one for Link, and one for Property).