Add basic validation functionality to DesignateObjects

In this commit, we add support for basic (i.e. non-nested) validation of
DesignateObjects. Future commits will enhance this to support nested
validation, as well as providing schemas for each of the existing Objects

Change-Id: Ib41e51d70c942332ff872f348d0d5d53fb32d10f
Blueprint: validation-cleanup
Merge "Add basic validation functionality to DesignateObjects"