Support SpanMultiTerm, closes #2610, #2400

This adds support for lucene span multi term queries. This lucene query
allows users to form complicated queries such as wildcards or prefix
queries embedded within span queries.
Refactoring SpanMultiTermQuery support

* Added license headers where needed
* Refactored SpanMultiTermQueryParser
* Refactored tests to adhere to other tests