Honor email_always even if notification has been read

Even if the notification has been read, send it by email if user has enabled email_always
Added test to ensure email is sent to users with email_always set even if the notification has been read
Corrected typo, corrected accidental tab, removed unnecessary database rollback

Corrected it "do send" to it "does send"
Removed unnecessary user.update_column (rollback happens automatically)
Replaced Tab with spaces.
Cosmetic changes.
Add post_id to user_badges table.
Add ability to specify custom font awesome icon for badges.
Allow specifying URLs as badge certificates.
Mark badge notification as read when the notification is clicked.
Use Em.computed.match.
Add missing <tbody> tags.
Add notification_id column to user_badges.
Move badge grant_count updating to the UserBadge model callbacks.
Grant system badges in a background job.
Add like-based system badges.
FIX: show 404 page for links to categories that don't exists or you don't have access to, instead of showing blank page with js errors
TWEAK: Don't focus on progress expansion on touch interfaces.
We don't need an empty app-events file.
TRIVIAL: Remove some output from qunit test suite.
remove serif fallback for mobile pre/code blocks
remove serif fallback from code,pre

this was about an ancient Safari / WebKit bug as I recall
https://www.webkit.org/blog/67/strange-medium/