api: check unit name on set operations

since we essentially have two fields where the unit name can be set I think it's safest to take this path and ensure they're the same. I also don't feel strongly about the auto-fill so can remove that if you don't like it.

validateName is dumb right now but anticipating #867....
BadRequest is effectively a syntax error, while Conflict means "I can't do that right now due to some other conditions that you may be able to resolve". In this case, if the unit already existed, the request would have succeeded.