Add functionality to check if a voucher is available for a basket or not.
Add support for managing large amounts of vouchers grouped in sets.
As in `test_model.py` -> `test_models.py`
The idea of splitting integration from unittests is good in theory but leads to a lot of mental overhead. Besides whenever a tests interacts with a database it isn't a unittest anyway.