Previously, we call differential.getrawdiff per patch despite we have the
diff content already (returned by differential.querydiffs).
This patch implements the serialization logic of differential.getrawdiff
client-side so we no longer need calling differential.getrawdiff. This
removes one API call per patch.
Now fetching a stack of 10 patches is just 2 API calls in the best case.
Worst case batching does not work and it's 11 API calls. The "reading"
verbose message was removed since there is no remote IO needed to read a
patch in that loop now.
Using a test Phabricator instance, this patch reduces phabread reading a
10-patch stack from about 8 seconds to 1.3 seconds. Even with batching
disabled, reading that 10-patch stack could be done in 4 seconds. The
copy-paste constants are a bit unfortunate since "code is documentation" is
true for many Phabricator features. But the perf win could probably justify
it.