Add templates for validation on dialogs and property grid

#327 

Templates for validating user input in two places:
* For dialogs, use a view model and rely on DataAnnotation validation attributes to perform validation. Use the System.ComponentModel.DataAnnotations.Validator class to drive the validation process. Implemented for the "hierarchical picker", used to select both a service and a command or event, with basic required, "identifier-like", and length validation. Implements a custom error template showing a warning sign and a tooltip with the error message.
* For model properities shown in the property grid, use a TypeConverter-based validation that behaves like parsing validation when entering a number. Implemented on the SLA and Time Increment properties representing time spans.

Also avoids showing the error collector when the debugger is attached on a debug build, breaking on unhandled exceptions instead.