* Remove obsolete methods used in `hashValue` methods; normalizing all implementations.
* Fix warnings about redundant protocol conformance
* Removed “linux” definition of `NSTextCheckingResult.range(at:)` because Swift 4 defines it
* Updated project settings to Swift 4