ignore missing stackless coverage
Refactored and added tests for backend choosing. Functionally still works the same, but mostly rewritten.