Add new field "applies_to_all_organisations"

This boolean field should be true if the need is
one which we would consider "generic".

The word "generic" doesn't really mean much, so
'applies to all organisations' seems a bit fairer.

There's a bit of hackery to get the boolean field
to default to false, even when it's set to nil.
Display applies_to_all_organisations in presenters

Expose the "applies_to_all_organisations" field in
both need presenters and include assertions for 
them in the integration tests.
Index applies_to_all_organisations in search

So that the field can be returned by the basic need
presenter for both regular results and search
results, we need to define it in IndexableNeed so
that it is indexed in search.
Disallow organisation IDs for generic needs.

Since the intention is that the `applies_to_all_organisations` flag, if
set, overrides the `organisation_ids` field, it makes sense to be
explicit and not allow any IDs to be set.

We're only expecting to instantiate a small number of these needs, and
not allow extra ones to be set in Maslow itself, so we shouldn't need to
worry about someone trying to set this flag on a need that already has
organisations set.
Merge pull request #30 from alphagov/add-field-for-generic-needs

Add new field "applies_to_all_organisations"