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
I agree we should fix this API here. Maybe we can already trash `CannedScorer` and just subclass `Scorer` from `ExpressionScript`