Updated ApiClient Constructor to use cURL when fetching WSDL

Now requires a writeable cache directory.  Will create one by default if
one is not provided.
Also added code coverage statements to tests.