* Introduce `RefinableMessage.tryRefine` to refine without suspension.
* Extract `RefinableMessage` to separate file
* Always use `Bot` on `List<MsgComm.Msg>.toMessageChain`
* Introduce `MessageRefiner` and ensure MessageChain refined after transformation. Fix#1156, fix#1157
* Add basic tests
* Refine forward message contents
* Refine long message contents
* Move refinement from message internals to MiraiImpl public APIs
* Comment out unused `toMessageChainOffline`
* refinement tests part
* refinement tests part
* Full tests and minor internal improv.s
* Fix tests
* Fix compile