Test individual backends as opposed to all at once

I used to just test API conformance for all of the backends by finding
all of the BaseBackend subclasses and using a tes generator for each of them.
Now I test the backends individually so we can skip them more intelligently and
see more precisely why they failed.
Add a sane default when an engine isn't specified
Test individual backends as opposed to all at once

I used to just test API conformance for all of the backends by finding
all of the BaseBackend subclasses and using a tes generator for each of them.
Now I test the backends individually so we can skip them more intelligently and
see more precisely why they failed