fixed bug with broken unpublish functionality

* removed setting the now non-existent 'live' db field in programmes
* tightened up checking for empty attributes when save output to the api index
* added appropriate tests for unpublish functionality to model tests