Report Section proof of concept.

Created a proof of concept on how Report section on the dashboard should work. 

There is still a couple of big question marks on how right this approach is to the problem. There is some cross-logic on Generator and Formatters going on which will have to be tackled in the future in order a user to be able to override the Generator.run() method. 

One good idea could be to create a CeleryGenerator class which would be capable to dispatch a report generator to a different machine. 

Examples on how to create reports can be found on oscar/apps/catalogue/reports.py. 

There is also an autodiscover function which will pick all the available report generators and make them available for a user to run on the dashboard reports page.