Add some essential headers to every response

Add "Date" and "Cache-Control: no-cache" header to every response. These
addings always have lower priority than controllers. It means these
headers can be overwritten or removed by controller such as
controllers.Assets.
Merge branch `feature/response-headers` of npcode/yobi

from pull request 490
fix broken tests
Refactoring: moved sending email code

* move from AbstractPosting to NotificationMail
* removed Nofication interface and abstract implementations
MarkdownHelp: remove text-shadow at title
watch: WatchProjectApp#toggle can't use @IsAllowed
- @IsAllowed can be used if the url pattern is like /owner/projectName
Attachment:add image title and change image text for markdown syntax
Merge branch `fix/test` of kjkmadness/yobi

from pull request 498
Merge branch `bugfix/watch` of kjkmadness/yobi

from pull request 497
attachment: Fix a possible NPE
attachment: Fix incorrect use of ETag

* ETag should be double-quoted.
* 304 response MUST include ETag if it is included for 200 reponse.
Merge branch `refactoring/mail` of whiteship/yobi

from pull request 499
Diff: Fix markup for hunk row
Merge branch `issue/attach-image-alrt` of insanehong/hive

from pull request 501
Merge branch `issue/remove-shadow-markdown-help` of insanehong/hive

from pull request 500
Board: fix incorrect fileUploader resourceId on editform
Lists: Modify the list to the same style on issue,pull request, board
Merge branch `yobi-741` of laziel/yobi

from pull request 511
Diff: Fix comment toggle button
Diff: Change event bind method to on() from click()