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.