Support fuzzy queries in CompletionSuggest

Added the FuzzySuggester in order to support completion queries

The following options have been added for the fuxxy suggester

* edit_distance: Maximum edit distance
* transpositions: Sets if transpositions should be counted as one or two changes
* min_prefix_length: Minimum length of the input before fuzzy suggestions are returned
* non_prefix_length: Minimum length of the input, which is not checked for fuzzy alternatives

Closes #3465