API should validate unit names

systemd is opinionated about what constitutes a valid unit name. fleet should validate this at unit-creation time to prevent issues like https://github.com/coreos/fleet/issues/845 and https://github.com/coreos/fleet/issues/793.
Can you add a comment explaining what this ends up doing? I wish we could just say `256*"X"`...