add debugGetBlob
add debugGetBlob

Summary:
I want to be able to query the state of a blob in the hgcache to inspect when
blob contents don't match the cached sizes we have for them. This is to help
catch an attempted repro for corrupt file sizes we have seen from user reports.

However, I don't want this to do any network fetching (bcz slow). and we don't
cache blobs in the local store in production. so I need to be able to get at
the hgcache.

I could go the `hg debugscmstore` route but I think it will be useful anyways
for `eden debug blob` to expose this information for ease of future debugging.

While I am adding it, I am setting up the plumbing to be able to fetch blobs from
multiple places.

Since we are changing the return type, we have to create a new endpoint. While
the endpoint changes I will also clean them up to follow more standard thrift
practices.

Reviewed By: chadaustin

Differential Revision: D41013986

fbshipit-source-id: af543fe9952dc15f28ef6cc13f6bf2eab95f753e

facebook/watchman,facebook/watchman,facebook/watchman,facebook/watchman,facebook/watchman,facebook/watchman,facebook/watchman,facebook/watchman,facebook/watchman