Add a table to store delta index discriminant #233
Add Sphinx config for main+delta indexes. #233
Make the search use delta and main indexes. #233
Added an SQL index for quicker index refresh. #233
Added a shell to ease index managment.

Now we have these delta/main all around, `indexer --all` is
not enough to run batch commands on the indexes, so I created
a script for the usual index merge and index update tasks.
Fixed bogus model relationship.

Sentences and Tags are already linked with a HABTM relation, so no
need to put it in $belongsTo. Also, CakePHP use the automatic name
'TagsSentence' for the HABTM model, which misses our 's'.

The bug appeared while loading the Sencence model *only* from the
sphinx_indexes.php shell and performing a find().
Add 'last modified' into the Sphinx indexes. #233

So that we can get that value in order to know the newest sentence
of a given index.
Convert datetimes to make Sphinx happy.

See http://sphinxsearch.com/docs/archives/manual-2.0.4.html#conf-sql-attr-timestamp
Now we should be able to use the 'created' and 'moified' Sphinx attributes.
Fix delta discriminant values. #233

Update the delta discriminant value using data from the index itself
instead of our database. This way, values in the sphinx_delta keep
consistant with the actual indexes.
Handle sentences with null last modification time.

Include sentences with null last modification time in the main index,
and set the delta discriminant to zero if all the sentences have a null
last modification time.

Otherwise unmodified sentences included from the Takana Corpus are known
to have a null last modification. In addition, when importing sentences
from CSV files on a VM, all the sentences have a null last modification
time.
Stop saying our search feature sucks.
Merge pull request #442 from Tatoeba/delta-index

Faster search index refresh using delta index