Move notification related code to a separate directory

Motivation: Make it a compact module, easier to factorize out into
a sepaarate repo later.
DeOOP Notification templates

ReplyTemplate and NotifierTemplates were semi-classes with only a bunch of
static functions collected under a class. Separating the templates in module level
makes these abominations obsolete.
Create reply-notification for newly registered users

This reply-notification-template will be used for the notifier to send replies,
and can be activated/deactivated
Move domain_mailer into notifications
Notifications tab stub

This tab will list the user's notifications.
A new tab is better (even if now it is a one element list) because
works differently then the rest of the account data.
Fetch subscriptions list from backend

The h.auth.local.ProfileController class (which handles account editing)
has now a profile GET call which sends back all subscriptions for an uri
(now a username)
Fix notifier tests

Many were broken because of the refactoring
Add unsubscribe operation

This is used by email links. This operation sets the active state to false
of a notification subscription.
Add unsubscribe link to emails
Migration script

Added a new Alembic migration script

Upgrade:
- Drop user_subscriptions table (we haven't used it anyway)
- Create subscriptions table (with the new structure)

Downgrade: Inverse
Lazy generate missing reply notifications

This is backwards compatibility for existing users.
At login they'll have their notifications enabled.
Fix notification tests again
Simplfiy templates, get rid of registration
Rewrite notification tests

Due to the changes, every notification template can get its tests file.
Rewritten tests to be more unit test focused
Flake8 cleanup
Update markup for the notification form
Refactor includes to make all the models

Rather than putting the notifications module into the multiauth
configuration, which was a nasty hack to get it to load early,
remove the automatic inclusion of pyramid_basemodel and put it into
the load order after h in `pyramid.includes`. That gives multiauth
time to include the local account and its models before the
pyramid_basemodel is included (at which point the models are actually
created).
Strip the notifier templates after rendering
Simplify Subscriptions table

All currently not needed columns were removed: paremeters, query, description
Client generates the description
Change template field name to type