notification: Refactor Global.

Move Global.scheduleNotificationByMail() to NotificationMail.startsSchedule().
notification: Extract string formatting to methods.

Add formatReplyTitle and formatNewTitle.
notification: fix minor typo. s/프로젝틑/프로젝트를/
notification: Extract some codes adding notification.

To addNotificationFromNewPost and addNotificationFromNewComment.
issue: Replace IssueApp.isAssigneeChanged.

With Issue.assigneeEquals.
notification: s/send/add/ to sendStateChangedNotification.
notification: Extract some code getting receivers.
notification: Use getEmailFromSmtp().
notification: Add comments.
notification: Add some exception handlings.

In getProject() and resourceExists(), throw an exception if the current
resource type is unknown or unsupported.
notification: Remove an empty line.
Notification: Remove an unused import.
Notification: add fields for serialization.
notification: Use NotificationEvent.add instead of save