Add product carousel to offer list page

This commmit moves the loading of a product queryset for an offer from
the offer view to the offer model.  This allows it to be used in the
`list.html` template for offers.

Part of #596 - still needs some FED love from @informa though.