Pluggable adapters

Move the communication/parsing parts of Thumbtack into an adapter.
Allows you to provide your own adapter if you'd rather use a different
JSON parser or HTTP library.