Refactor client to use adapters

Added GuzzleAdapter
Added Response class