Overide delete() on AbstractProductImage.

Ensures the display order is always in consecutive order.

This is a proposed solution to #855 
Every time a developer uses numbered variables, a kitten is killed. Resurrect a feline quartet by rewriting as:
```python
self.images = [factories.create_product(product=self.product, display_order=i) for i in range(4)]
```