"buildables" and "testables" have their own classes now.

There's now a `Buildable` class and a `Testable` class that subclasses
`Buildable`.

We used to just pass these around as NSDictionary's.
TestableExecutionInfo collects info needed to run test bundles.

This helps us move a bunch of code out of RunTestsAction that didn't
need to be there.