Introduce `Friend` extending `User`
Introduce `User` acting as the superclass of `Friend` and `Member`
Add extensions `Member.asFriend`, etc.
Remove specialized `Contact.hashCode` and `Contact.equals`, inherit from `kotlin.Any`
Specify `toString` behavior in abstract `Contact` classes, instead of in implementation classes.
Add virtual member `Contact.sendMessage(String)`
Migrate the project from using `QQ` to `Friend`
Remove multiplatform Contact class structure, keep them common.
Remove extension `Long.at` in `GroupMessage`, `QQ.at` in `ContactMessage`.
Add `At.asMember()` in `GroupMessage`.
Make `calculateGroupUinByGroupCode`, `calculateGroupCodeByGroupUin` static on JVM.