Test parametrisation: make lazy part of backend fixture

Instead of explicitly parametrising lazy via passing a parametrised
fixture into the backend fixture, parametrise both backend and lazy
via pytest_generate_tests, which allows skipping lazy or greedy
evaluation by simply passing a skip_lazy or skip_greedy fixture as
an argument to a test.
More readable parameter ids for backend fixture
Only reset configuration in op2.exit if it exists