Term Vectors: Support for artificial documents

This adds the ability to the Term Vector API to generate term vectors for
artifical documents, that is for documents not present in the index. Following
a similar syntax to the Percolator API, a new 'doc' parameter is used, instead
of '_id', that specifies the document of interest. The parameters '_index' and
'_type' determine the mapping and therefore analyzers to apply to each value
field.
I just looked at how the percolator deals with it, and it also creates dynamic mappings in such a case. However, it makes sure that they are replicated to the master cluster state, see PercolatorService.parseRequest. I think this should do the same?