Weak Suffixes Map

#408 rebased onto `release-1.0.0` branch.
TODO:
* [x] tests
* [x] weakSuffixes as separate set