TestPlan.testruns reimplemented using PlanRuns container

This by the way means added caching support for test plan runs