Notifications overhaul

Port all the notifications from the website to the app. Icons slightly different because we use different sets (ionicons vs glyphicon). Added a few comments in the code.

cc @lefnire @huaruiwu