Introduce end-to-end performance tests on medium-sized data

This isn't quite done, but figured it's at a good spot to get feedback.

In particular the cluster security isn't set up correctly yet and thus this hasn't been tested end-to-end.
@markhibberd So the last big problem that I probably need to fix is that this piping will result in all the data being downloaded by one process before the map reduce has had time to consume them all. I know I can I fix this by just hard coding the loop of inputs here, rather than in the per-test "input" script, but I wanted to isolate the data logic as much as I could. Thoughts?