Add failing test for retrieving a need from the API
Present a single need.
Split out test classes for listing and showing.

Their test fixtures have very little in common, and splitting the
fixtures apart would involve multiple nested levels of context,
which makes the tests that bit more confusing.
Refuse to create needs with defined IDs.

We don't want to allow need IDs to be assigned by API clients, and it's
clearer to refuse these requests entirely than to silently overwrite a
specified need ID with our own.
Update needs through a PUT request.

Strictly speaking, we shouldn't be using PUT for partial updates and
just accepting complete representations, but for now it's not worth
fighting with Rails, especially since they're bringing in support for
the PATCH verb in Rails 4.