pytest-cache --lf compatibility

pytest-cache calls `pytest_deselected` before `pytest_collection_modifyitems` is called.
But when `pytest_collection_modifyitems` gets called it no longer contains the tests deselected by pytest-cache.
This leads to a negative test count and the exception shown in #37.