Introduce Notification Service

Notification Service
==============

아래의 상황에서 알림이 발송됩니다.

* 새 이슈가 등록된 경우, 해당 프로젝트를 지켜보는 모든 사용자에게 알림 발송 
* 새 게시물이 등록된 경우, 해당 프로젝트를 지켜보는 모든 사용자에게 알림 발송
* 새 댓글이 등록된 경우, 댓글이 달린 글을 지켜보는 모든 사용자에게 알림 발송
* 누군가를 멘션한 경우, 멘션된 사용자에게 알림 발송
* 이슈 상태가 변경된 경우, 해당 이슈를 지켜보는 모든 사용자에게 알림 발송
* 이슈 담당자 변경된 경우, 해당 이슈를 지켜보는 모든 사용자, 변경 전 담당자, 변경 후 담당자에게 알림 발송

"지켜보기"에 대해서는 docs/technical/watch.md를 참고하시기 바랍니다.

발송 방법
-------------

* 메일로 발송
* 사이트 메인에 게시

![yobi-notification](https://f.cloud.github.com/assets/1129852/796650/12b38b60-ed2c-11e2-8e45-4bcd0a703d34.png)

설정
----

notification 관련 설정과 각각의 의미는 다음과 같습니다.

    # 시스템이 시작된 지 5초가 지나면 알림 메일 발송 기능이 동작하기 시작함
    application.notification.bymail.initdelay = 5s

    # 매 1분마다 알림의 목록을 확인해서 메일 발송
    application.notification.bymail.interval = 1m

    # 등록된지 3분 이상이 지난 알림만 발송                                                           
    application.notification.bymail.delay = 3m

TODO
------

* 이슈 수정, 코드 댓글 등록 등 그 외의 다른 이벤트에 대한 알림 추가
* 문서 작성
* 사이트 메인에 pagination 추가
* 오래된 이벤트를 삭제하는 기능 추가
* 사이트 메인의 notification UI 개선 (누가 해줬으면...)