Don't create a need if author details aren't provided

If author details aren't provided with the request,
don't save the need, instead returning a HTTP 422
status and a JSON hash containing an appropriate
error message.

This also restricts the accepted author information
keys to name, email and uid. Only one of these is
required in order to save a need, but as much detail
as desired can be provided by the API client.