First attempt at organising files into distinct modules
Finish shuffling files into the new directory structure
Merge branch 'master' into zengrids-web-frontend
tweak scss source to be Sass-like, add vim formatting hints
Fix a CSS syntax derp, trivial neatening
Push Sass compilation Makefile into the css directory
Merge branch 'master' into zengrids-web-frontend
Perform highlighting in Elasticsearch and return highlight data with queries
Don't bother finding the first instance of the search term, just start from the start
Don't bother doing our own highlighting, ES will do it for us in future
Note to self for future work
'Better' sorting of results by score
Further annotation on the keys that we receive in a result doc
Pull out the code that cleans up an ES result, make it a function
Bail out of the rendering loop much earlier if we see a deleted RT ticket
We've proven that the ES highlighter works, switch to sane highlighting tags
Fix up ES highlighting parameters in the query

The excerpt field was being given too much priority, always being
included even if it didn't contain any search terms. Provsys docs
always contain the search term, but things like wiki pages and RT
tickets often won't.

As an aside, documents arguably shouldn't need an excerpt field now that
ES will extract and highlight matching fragments for us.

These changes mean that the excerpt-highlight will only be populated if
there's a real match. The blob field remains as a fallback and *will*
always contain content, although I *think* it's possible for it to not
be highlighted (if the no_match_size kicks in).

The renderer prefers to display the excerpt-highlight if it exists,
otherwise it displays whatever the blob-highlight has to offer.
Remove useless check for other_metadata in ES results

other_metadata is now guaranteed to be in all results that ES returns,
it's just the contents of _source
We're now making use of Elasticsearch's highlighting results, woohoo!
More comments on the data types passed downstream for rendering