forms_valid now calls FormMixins.form_valid prior to saving - with tests

Hi Andrew. I finally got round to updating the test case for this test. Took me a while as a) I've never written Django unit tests, which is shocking as I seem to have made a career from writing Java ones. and b) I'm new to GitHub. Let me know if I've screwed up anywhere along the way.

Please merge if you are happy.

Thanks