Rename existing "tokenizers" to "analyzers".
Merge branch 'develop' into analyzers
Add tokenizers as the first step of the analyzer filterchain.

Idea is to go from a tokenizer through a set of filters, with the analyzer
using the output of the final filter as its tokens for analysis.
Add english_normalizer filter.

This filter is likely to go immediately after a whitespace_tokenizer, and
tries to normalize all whitespace and splits words from punctuation
characters.
Add sentence boundary filter.
Add length filter.
Add "Doc" as sentence end exception.
Add factory method for creating filter chains.

Filters have been redesigned to contain a unique_ptr to their source
(references wouldn't work for this), and now all token_streams have a
method to set the content of the beginning of the filter chain. The chains
are not thread safe, so they will be created once at the beginning of each
thread that is involved in the tokenization process.
Merge branch 'develop' into analyzers

Conflicts:
	src/test/tokenizer_test.cpp
	test/analyzer_test.h
	test/tokenizer_test.h
	unit-test.cpp
Add list filter.
Add comment to next_token() in length_filter.
Add lowercase_filter.
Add porter2_stemmer filter.
Finish analyzer refactoring and create default filterchain.

Added new utility clonable, which allows for simple CRTP-based polymorphic
cloning.
Change ordering of default filter chain.
Special case em-dashes in english_analyzer.
Strip tokens that contain only allowed punctuation from alpha_filter.
Merge branch 'develop' into analyzers
Begin adding utf support functions that wrap ICU.
Add icu installation to travis-ci.