More Like This Query: Adds the ability to specify the analyzer used for each Field

When using multiple items, the user may want to specify which analyzer to use
for each field. Previously, either the analyzer specified by 'analyzer' would
be used for all the fields, or if not set, the analyzer associated with the
field would be chosen. This commit provides the ability to fine grain which
analyzer should be used for each field by providing a new 'fields_analyzer'
parameter to the More Like This Query.
so I only have a style problem here. IMO this is harder than it needs to be though... IMO we should require that `fieldAnalyzers` is non-null ie. use `Collections.emptyMap()` as a default. then we can just do this:
```Java
Analyzer analyzer = fieldAnalyzer.get(fieldName);
if (analyzer == null) {
  analyzer = defaultAnalyzer;
}
mlt.setAnalyzer(analyzer);

```

I think the `mlt.setAnalyzer(mltQuery.getAnalyzer());` is obsolete then?