Adding a User-Agent header for the SDK

App version without name, I don't think that should be allowed. I would allow name + version, or just name.
device without os, I'll add
os without device, same thing