185 relax notification rules

addresses #185 and #183 

This also makes some changes to adding and updating of notification rules (via the API or otherwise):
- if contact_id is not supplied to "PUT /notification_rule/ID" then the old value is retained
- all fields are optional (but one of entities or entity_tags must have a list of strings)
- 'nil' is now allowed ('null' in the json) and interpreted to mean empty (or false in the case of bollean fields) -- we are returning 'nil' for non existing fields anyway
- more debug logging (needs to be more consistent, most api methods don't do any logging at all)