SD-672 back-end support for user preferences

Added schema for user preferences regarding user mentions notification + behave test
i would try server driven because that would make possible adding new settings without updating client. but not sure if that would be a common case or not.
so we would need on server something like:
```
superdesk.setting('notification.email', {'value': 'boolean', 'default': True, 'category': 'Notifications', 'label': 'Get notifications by email'})
```
issue with this one is translation of labels..