Add some facility to store per-room parameters.
Plugins should be able to declare their schemas.
The IRC interface to alter the settings document in IRC should be as following:
* Read: `!set {scope}.json.path.to.key`
* Set: `!set {scope}.json.path.to.key value`
* Enable or append to list : `+set {scope}.json.path.to.key`
* Disable, remove or delete: `-set {scope}.json.path.to.key`
* Schema/Info: `?set {scope}.json.path.to.key` (If possible?)
The `scope` can right now only be: `room` or left blank (path begins with a `.`, representing _current context_).
Later, this interface will allow changing settings of another channel (for administrative purposes), in private message, using `room.net/name`.
This interface will also allow setting user and network and global settings later on using the `scope` parameter.
some examples
```
!set .private
+set .private
-set .private
!set room.timezone Europe/Paris
!set room.lang fr
!set room.defaultPolicy trust
In the future:
!set room.random/#.lang fr
In a DM: !set .lang fr (sets user lang)
In a room: !set .user.lang fr
```