Grouped templates into subfolders
Return null if ProductCollectionItem has no product
Allow to bypass cache when retrieving product for collection item
Use class method to check if product is available
Used $this in static method
Fixed compatibility of flat shipping method
Use static method `System::loadLanguageFile`
No need to override `panel()` method from DC_Table

I guess this has been added to remove the `limit` panel, which is now
done by not including it in `panelLayout`.
Contao class FileUpload is in the global namespace
Isotope\Backend::getUploader() is no longer necessary

Previously, the constructor was not public, has been fixed in Contao 3.1
Removed magic method functionally in product collections

Magic method should only be used to directly access model record data,
for everything else there must be public methods
Moved shutdown lock check to saveDatabase method

The collection could be locked after construction
CS
Added methods to handle payment and shipping model in collection
Product collection now implements collection items instead of products
CS
Pass $blnForceInsert to parent save method