Client lib: fix client side performance regression introduced with partial directory reads, by gathering all partial responses, and then performing one shot allocation of the result vector, in order to avoid large copy involving atomic increment / decrement std::string reference count. Minimize std::string copies, by passing buffer pointer and size directly to the string constructor. Even if std::string "copy" only results in reference count manipulation "atomic" operation effect could be noticeable with large number of such "copies".
Client lib: use content length, in parser setup, not buffer length. Add trace message for simple parser profiling.