## Changed
- added processor support to `levenshtein` and `hamming`
- added distance support to extract/extractOne/extract_iter
## Fixes
- incorrect results of `normalized_hamming` and `normalized_levenshtein` when used with `utils.default_process` as processor
## Changed
- string_metric.normalized_levenshtein supports now all weights
- when different weights are used for Insertion and Deletion the strings can not be swapped inside the Levenshtein implementation anymore. So different weights for Insertion and Deletion are now supported.
- replace C++ implementation with a Cython implementation. This has the following advantages:
- The implementation is less error prone, since a lot of the complex things are done by Cython
- slighly faster than the current implementation (up to 10% for some parts)
- about 33% smaller binary size
- reduced compile time
- Added **kwargs argument to process.extract/extractOne/extract_iter that is passed to the scorer
- Add max argument to hamming distance
- Add support for whole Unicode range to utils.default_process
## Performance
- replaced Wagner Fischer usage in the normal Levenshtein distance with a bitparallel implementation
* start to simplify complexion
* start implementation
* add extractOne to C++
* fix a couple of bugs in the implementation
* start adressing performance issues