Translate integTest into a more flexible system to handle multiple facets

Feel free to be critical about the actual syntax, I'm just throwing this out there. It's a little awkward to use Test to create test tasks from a Facet. Still needs docs, but that can be added after we're done with the RxJava transfer.

CC @jmcgarr @rspeildenner
Users won't see FacetDefinition, so that specific name doesn't matter. But concerning Facet, I could go with SourceFacet.