change lucene query generation

before symbols were used to generate xcontent which was then
parsed by ES components to generate lucene query
classes. So the process was:

    symbols -> xcontent -> query

This commit removes the -> xcontent step for all SELECT
queries (DELETE / UPDATE still use xcontent) so now it is:

    symbols -> query

This also enables a generic "FunctionFilter" which is a
fallback that will use the Scalar functions to evaluate any
conditions in the where clause if it is not possible to
create optimized Lucene queries.

So with this commit it is possible to do stuff like

    where oneCol = anotherCol
fix minor documentation issues
Merge pull request #1194 from crate/m/regex_doc_fixes

fix minor documentation issues
improved error handling for NULL pk values when importing data
use locale English for lowercase of default match_type of match predicate
Merge pull request #1195 from crate/h/no-pk-exception

improved error handling for NULL pk values when importing data
WIP: where clause splitter