reduce 50 lines and more

変更点をsquashしてひとつのコミットにまとめています。
### 特筆すべきポイント
コードの順番は大事です。見直すとすっきりする2例がこちら。
https://github.com/yuxxxx/AkaneMail/commit/552ba4261888ca5dc2e4010ea909c5e343350308
長大なif文が消え去った例
https://github.com/yuxxxx/AkaneMail/commit/65544e09ba5e1882149130bd6c52cc8fb1de28b3#commitcomment-5245508
こまごましたif文がまとまった例