Improve unit test coverage for the Need

Add tests for the field validations, and more 
comprehensive tests around the as_json method.
Correctly set the currently_met value when preparing JSON
Add an email and uid to the stub user
Send the change author to the Need API when a need is saved

This replaces the save method with save_as, which
requires a user from which we can infer the name,
email and uid. This is attached to the request to
the Need API so that the history of changes to the
need can be populated.

As the existing save method will no longer be able
to persist a need in the Need API due to the author
requirement, calling it will now raise an exception.
Merge pull request #12 from alphagov/event-history

Send the author details to the Need API