Process Existing Docs, complex (Infinit.e) query

TODO CODE

	public static class DocumentByDatastoreQuery {
		public String tmin; // Maps Infinit.e-query style time strings (including "now", "now-1d" etc) onto an indexed field in the specified collection to support time-boxing the input
		public String tmax; // Maps Infinit.e-query style time strings (including "now", "now-1d" etc) onto an indexed field in the specified collection to support time-boxing the input
		public String query; // A string containing the JSON of a MongoDB query that can be used to select documents - it is recommended to only use indexed field, eg _id, url, sourceKey, entities.index - otherwise use DocumentByDocumentQuery
		public String fields; // A JSON object containing a standard MongoDB "projection", ie usual MongoDB specification of the fields to provide to the mapper, eg {"_id":0, "entities":1} (defaults to all if {}) 
		public String srcTags; // A MongoDB query, that is applied against the source tags (not the document tags) and converts to a list of sources (ie very efficient). (Note this backs out if too many sources - currently >5000 - are selected, so should be treated as a recommendation - ie mappers might still be called on non-matching sources)
		public enum ContentMode { metadata, content, both }; 
		public ContentMode contentMode; // Which aspect of documents to collection - metadata JSON, or a JSON object contain a gzip of the content. "both" NOT CURRENTLY SUPPORTED
	}