Search needs

Allow an extra `q=` parameter to the need list, which searches an elasticsearch index for matching needs.

This doesn’t currently include stemming functionality (e.g. matching “driver” or “driving” for “drivers”): we’re planning to do that in a separate pull request.