Add email notifications for tasks and challenges

PR към #140 

Очаквам коментари :)
`challenges.hidden` е булева колонка, което означава, че можеш да я достъпваш и като предикат през модела, което аз бих предпочел в този случай: `... unless challenge.hidden?`.