get_valid_request_methods should use object var

No need to recreate the array.
Exception should use get_valid_request_methods

Instead of relying the on var
Abstract REST Client into a new parent

We can extend this parent to handle both the WPCOM and WP-API APIs.
Introduce WP_REST_Request class

Make it easier to pass around data for any given request. Will make it a
bit easier to make changes in the future.
Merge pull request #1 from Automattic/feature/base-client

Abstract REST Client into a new parent