Offline search index generation

- Generates the search index at `jekyll build` time, rather than on the client.
- Now creates an unminified, minified and a map JS file (choices!)
- Optimised some of the ruby as I went through it
- Having difficulty with the JavaScript side of things @slashdotdash, there seems to be something with the libraries - your help would be greatly appreciated!