Overide delete() on AbstractProductImage.

Ensures the display order is always in consecutive order.

This is a proposed solution to #855 
You don't need this - the test is run in a transaction which is rolled back at the end.