WIP: decouple notification preferences
Getting my feet wet on https://gitlab.com/gitlab-org/gitlab-ce/issues/3359
It appears this has matured enough to be pulled out into it's own model, and as per @DouweM suggestion, a polymorphic model makes the most sense.
I'm new to this project, so comments and suggestions are welcome!