Switch to SphinxQL functions for Sphinx 2.1.x.

To enable this behaviour, put the following in an initialiser:

    ThinkingSphinx::SphinxQL.functions!

This will become the default behaviour in Thinking Sphinx 3.1, though switching back will remain possible:

    ThinkingSphinx::SphinxQL.variables!
UTF8 setting for disabling forced encodings.

Sphinx 2.1.2 now returns UTF-8 strings for us automatically, which is excellent. If you're using 2.1.2, you should add the following to an initialiser:

    ThinkingSphinx::Middlewares::DEFAULT.delete ThinkingSphinx::Middlewares::UTF8

And also set utf8 for each appropriate environment in config/thinking_sphinx.yml to true.

This will become the default behaviour in Thinking Sphinx 3.1.
New search options in Sphinx 2.1.x.
Updating Riddle dependency to 1.5.9 or better.
Updating HISTORY.
Add skip_time_zone option to avoid setting time zones when indexing.

This is a boolean setting defined in each appropriate environment in config/thinking_sphinx.yml. Closes #635.
Long suffixed logic shifted to separate lines.
Use realpath for tmp directory if it does exist.
Updating HISTORY.
Raise an error if no indices match the search criteria.

Credit goes to @bricker for this one.

ThinkingSphinx::NoIndicesError will be raised if the models specified have no Sphinx indices (and also in other situations where the options rule out all known indices).
Another HISTORY update.
3.0.6
Merge branch 'release/v3.0.6'