Threadsafe

This PR contains a few pieces of general code cleanup, but also makes the gem threadsafe. 

The use of class variables in the Job and Connection classes could cause configuration information to leak between instances of the class in different threads that were connected to different salesforce organizations.