Validate pod on create and update.

* This commit adds pod validations on when creating and updating a pod.
Update should require a PUT of an object with an existing ID - if you don't have one, that should be POST.  So letting autofill on PUT I would see as a bug.  I also think of Validate as usable in a broader context - e.g. checking the result of a migration where if the migration dropped the ID, the object is clearly invalid.