Use namespaced exceptions instead of raising Exception in socket_client.rb

socket_client.rb has 3 locations where it raises Exception instead of some custom class derived from StandardError.  This poses problems if clients of this gem have `begin...except` clauses that expect a StandardError.

I couldn't find any rspec tests for this gem and the conditions in which these exceptions would be raised are intermittent, so I haven't been able to do integration tests either.