Tidy some stuff in webdav events

Closes #97 
Ah yes, good point. I think throwing is the best choice because it separates the concerns from actually handling the error, but I'll add the catch block at the constructor to show the error.

Could also be good to do full URL validation here, rather than just a presence check? Although it's hard to find a regex/library without false negatives.