operation to Set OR Add a UserSetting (persistent)

other improvements to Session and UserSettings
Merge remote-tracking branch 'origin/master'