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
Yeah this is a goof.  I did this just to get it working, and then forgot to fix it!  Of course tests pass, but I'm still working on benchmarking so I haven't seen the slowness yet.

I'll expand the comment in setScorer, and will come up with a hack to allow setNextVar to work through a single FunctionValues.  It will still be a little slower than normal expressions for the aggregations case because it will do a hash of the variable name.