Page values not retaining after upload

Could probably do with someone other then myself pulling and checking.

- QuestionPages now extend AuthenticatingQuestionPage which contains common methods used when saving pages.
- Listing model contains a method to find completedPages by PAGE_ID.
- When a page is saved it will either update an existing object in the database (using update()) or insert a new object (using insert()) - this fixes the main problem and also clears out bloating of empty objects. The bug in title seemed to centre around using the insert() method to update existing objects. 

Would be good to remove some, if not all, of these log messages before merging.