first working Cython version of generic search
greatly optimized Cython search function + fixed and added benchmarks
added cython to requirements.txt
added missing bytes type in _generic_search.ALLOWED_TYPES
added C implementation of has_near_matches_substitutions_only
nailed down automated testing and deployment, and fixed test_generic_search_cython
replaced assertEquals to assertEqual to avoid deprecation warnings
fixed typo in module name
adding cython generated .c file
upgraded benchmarking code
yet another benchmark for Kevin Rue's use case
optimized find_near_matches_generic_ngrams and added has_near_match_generic_ngrams

Conflicts:
	benchmarks/__init__.py
	benchmarks/__main__.py
added has_near_match_substitutions_ngrams

Conflicts:
	benchmarks/__init__.py
added some tests for has_near_matches_*

Conflicts:
	tests/test_generic_search.py
	tests/test_substitutions_only.py
fixed major bug in *_near_matches_generic_ngrams()
optimized ngrams versions of levenshtein and subs-only searches
added substitutions_only_has_near_matches_byteslike to benchmarks
added common.count_different_items_with_max(seq1, seq2, max_different)
added C extensions and changed to single-source code
Merge branch 'cython'

Conflicts:
	tests/test_common.py
	tox.ini