Abstract REST Client into a new parent

We can extend this parent to handle both the WPCOM and WP-API APIs. Abstract some of the request handling into a separate class as well to simplify how clients deal with requests.