attempt to make non-blocking initialization

- move initialization code to use ExecutorService
add unit tests for bad initialization

- move SoapClientTest.SalesOptimizerSOAPBodyBuilder class into its own
  class
add isInitialized() precondition to call(...)

- needed to throw SOAPException and WSDLException on literally everything
- throw IllegalStateException when not initialized