Feature/module update on live

A few fixes to get the moduledata task running on each 'go live' programme action, as well as on a cron every night.

This is hard to write tests for because of the web services and the complex nature of some of the data (ie courses differ quite a lot in the kinds of module data they get back). But I have tested the output on the frontend on the dev server against the old code's output on the live server, and it all looks fine.