[Analysis] Parse synonyms with the same analysis chain

Change behavior synonym filter factory.
Now, synonyms are tokenized with the whitespace tokenizer or a tokenizer specified "tokenizer" parameter.
This PR is to tokenize synonyms with whatever tokenizer and token filters appear before it in the chain.
* change parsing synonyms from constructor to building custom analyzer
* clone SynonymTokenFilterFactory with the analysis chain in CustomAnalyzerProvider


Close #7199