Add tire gem for search and bump gds-sso

I had to bump gds-sso as some of the old version's dependencies are no longer available.
Tire is a wrapper for Elasticsearch. I'm not a fan of the way it couples search concerns
into the activerecord model, but it is a quick way to get things up and running and my
main concern now is to get need-o-tron off solr since we're standardising on elasticsearch
everywhere else.

In time we should explore whether needs should simply use rummager for search.
Remove solr code from need model and replace with Need#to_indexed_json

The latter is the way tire likes to have data presented
Get search working in the sense that we can get all needs back

Actual searching up next
Implement sorting of search results

I had hoped to keep these changes isolated to the NeedSearch class but it seemed to
make sense to actually adjust the parameters handed in at this point to avoid
concatenating details into a string and then splitting that string on whitespace
a few instructions later.
Get search, faceting etc. working

It's not pretty, but it's also not much different to what we already had. Since the aim
of this branch is to get everything running more smoothly so we can manage the app
better I'm happy with that. Refactoring is for later.
Downgrade rabl to same version used in master

The new version introduced a bug I didn't have time to track down
Changes to support newer formtastic
Remove capybara-webkit and bump rspec

The former appears to be unnecessary, the latter works with newer versions of mocha and it's good
to be up to date.
Remove delsolr gem and other solr specific code
Configure tire to get logging and correct server
Set up per-environment search indexes

This lets us test without blowing away the development index
Filter by facets

There are lots of changes buried in this to rearrange how we're working with elasticsearch.
That's because introducing facets properly meant getting all the tests passing and that
touched on lots of bits and pieces.
Tidy up some dependencies

A bad commit earlier had broken a few things when I ran bundle. This tightens up a couple
of dependencies and solves that.
Make rspec available in development so rake tasks work

Also removes ruby-debug as we so rarely use it.
Re-enable sorting

In order to sort on title we need a non-indexed version of the title as elasticsearch
won't sort on a field that's been broken into multiple tokens. We do that with a multi
field and some extra code that shapes the search query accordingly. This feels a bit
ugly but gets the job done.
Improve NeedSearch's methods for creating and destroying indexes

Pushes the mapping properly and logs errors.
Tidy up code layout for readability
Resolve some dependency issues.
Update rubygems source url
Remove gds-warmup-controller and pin various other gems

The warmup controller is a legacy of using passenger (we don't any more)
and at least some level of pinning the rest protects us against nasty
surprises if versions change.