Optionally measure http request times

This extracts out the `http` specific parts of `Rets::Client`, puts them behind an interface (you have to implement three methods, `http_get`, `http_post` and `save_cookies`).

It also adds a wrapper around that client that measures http timing stats by calling `@stats.time(stat_name) do... end`, where stats is passed in by the user of the library, and `time` is expected to return the result of the block after recording some timing stats (using statsd or your preferred implementation).