Work around persistent 500s when fetching item bodies.

Some item IDs (e.g. 0xa23eae3e1c9b626a and 0x27cb2e8581e4065d) cause persistent
500s when making the /stream/items/contents API call. Previously, this 500 would
cause the entire chunk of ~250 item IDs to be aborted. Switch instead to
(recursively) splitting up the chunk into two, and retrying each split chunk
until we find the specific items that cause the error. The rest of the item
bodies can therefor still be fetched.

Fixes #11