[LIBCLOUD-640] Add support for Softlayer DNS driver

*  Refactored SoftLayer connection, moved it to common, to be used by compute and dns driver
*  Added support for DNS driver methods
*  Unit tests for all methods

Driver has been tested a bit manually too and it seems to work. Looking for review/any comments

One thing missing is support for "update_zone" method as SoftLayer doesn't support so I don't really know how to tackle this problem?
Same as above for delete_record 
https://github.com/apache/libcloud/pull/413/files#diff-dfb598e3fd0504cdd5bdd96d48301ea2R72