For consistency with FluentValidation - making null/undefined strings the same as empty string instead of treating it as wrong and return false during validation.

For the record; this is wrong. A string that is null is not the same as empty string.
Validation messages was not being aggregated from all child regions - only current region!
TemplateEngine now dealing with instances correctly - used in dialogs it got created every other time, instead of everytime!
Merged!