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.
Hmm, I had not noticed the other fields had the same issue. I would rather like these setters to not exist on TermVectorsResponse like GetResponse. Maybe we can just worry about setArtificial here and remove the other setters in a different PR?