Implement lint for inherent to_string() method.
Fixes#4247
changelog: Implement two new lints: `inherent_to_string` and `inherent_to_string_shadow_display`
1) Emits a warning if a type implements an inherent method `to_string(&self) -> String`
2) Emits an error if a type implements an inherent method `to_string(&self) -> String` and also implements the `Display` trait