track revisions compiled multiple times
simplify REST API class definitions; correctly continue processing if a build has a compilation failure and doesn't contain tests