MLT Query: Support for artificial documents

Previously, the only way to specify a document not present in the index was to
use `like_text`. This would usually lead to complex queries made of multiple
MLT queries per document field. This commit adds the ability to the MLT query
to directly specify documents not present in the index (artificial documents).
The syntax is similar to the Percolator API or to the Multi Term Vector API.
we have a new interface called `DocumentRequest` that is more generic and I just checked that `TermVectorRequest` implements all the methods already. I think we should do that and make this `List<DocumentRequest>`