Scripting: Add script engine for lucene expressions

Adds support for new "expression" script engine.

This is backed by lucene expressions.  These are javascript expressions, which can only access numeric fielddata, parameters, and _score.  They can only be used for searches (not document updates).

closes #6818
Making this public would require making other stuff public as well.  It really is an internal detail.

I think micro benchmarks can be done using the ExpressionScriptEngineService to compile and execute the scripts?