fix(notification): notification setting values should always cast as boolean

Storing notification setting method values as metadata gives too much room for type mismatch. This makes setter and getter values use strict boolean  rules.
Adds regressions tests.