Speed up the DistributedLock test

https://github.com/alphagov/govuk_need_api/pull/68 introduced the DistributedLock
and related tests. This change speeds up the tests by making the lock acquisition timeout
configurable and much shorter (which shaves 9.5 seconds off the unit test run).
Merge pull request #70 from alphagov/speed-up-distributed-lock-test

Speed up the DistributedLock test
Update to 'shoulda-context' v1.2.1

The test changes are necessary because defining scoped methods within
the "context" blocks doesn't work anymore.

The bump is done so that it's possible to use the latest release of 'shoulda'
which pulls in the 'shoulda-context' gem.
Add 'shoulda', make validation tests more concise
Need test refinements

- move validation tests into separate context block for clarity
- add explicit setup blocks to context blocks to make dependencies more obvious
Add FactoryGirl syntactic sugar

This makes the create statements shorter
Use factory_girl more for creating models in NeedTest
Merge pull request #71 from alphagov/use-shoulda-for-more-concise-tests

Use 'shoulda' for more concise tests
Remove response info from OrganisationPresenter

It's not used in any controller.
Remove response info from BasicNeedPresenter

It's not used in any controller
Push response info logic into NeedsController

Response info isn't really anything to do with presenting needs,
so moving the logic to the controller simplifies the presenter a bit.
Fixes to IndexableNeedTest

Using a real Need object has unearthed some test data issues (using
a deleted attribute and incorrect data types)
Merge pull request #74 from alphagov/fixes-to-indexable-need-test

Fixes to IndexableNeedTest
Inline the OrganisationResultSetPresenter

The presenter is so simple, it's clearer to inline it into the controller.
Presenters should consistently respond to #as_json

Before this change, some responded to #present while
others responded to #as_json.
Merge pull request #73 from alphagov/presenter-improvements

Presenter improvements
Inline the OrganisationPresenter

This change moves the JSON representation of Organisation onto the model,
because the representation is the same everywhere.

This change also reduces the reliance on mocking for presenter testing, because
this reliance makes the unit tests very brittle.
Merge pull request #75 from alphagov/remove-organisation-presenter

Inline the OrganisationPresenter
Add status to need, and set it on need creation

This also bumps the 'shoulda-matchers' gem to pick up the `validate_inclusion_of` matcher.
Return need status when creating or viewing a need