Adding a User-Agent header for the SDK

The synchronized keyword here probably doesn't do what you want it to do. Another thread could call a setter while this is running, and you'd get undefined results. If we want to make this class thread-safe, we'd have to mark all the setters as synchronized. (Or something fancier with write locks and read locks, but that'd be excessive.)