LUCENE-5207: make functions pluggable

git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene5207@1523286 13f79535-47bb-0310-9956-ffa450edef68