Break up OTClient::ProcessServerReply

See #322.

ProcessServerReply was previously one long function with lots of if/else if cases. I split those into multiple functions (one per commit below to make the review easier).

I made a struct (`ProcessServerReplyArgs`) to gather the parameters that are used throughout the function, s.t. they can be used in the functions that were split off. In future cleanup work, this can be eliminated, but for the first step, it is better to keep it as close as possible to the original.

After review, I can squash the commits.