DataWatch: Pass all _func calls through _log_func_exception
watchers: Add ability to pass WatchedEvent to function

Provide a new flag for DataWatch and ChildWatch __init__, send_event,
that if set to true, the WatchEvent is passed to the decorated
function. In case of the first call or when calling the function upon
returning from a disconnect, this event is set to None.

The commit won't break existing use of the watchers as the send_event
defaults to False.

References GH-79.
Merge pull request #90 from nailor/pass-event-to-watcher

Add ability to pass the WatchedEvent to DataWatch and ChildWatch functions