HttpRequest: use BStackOrHeapArray

Sometimes we get enough bytes at once from the connection to trigger a
stack overflow. Allocate memory on the heap instead.
BHttpRequest: Small fixes

 * Allow BString to find a semicolon more efficiently.
 * Replace a dynamic stack allocated array with BStackOrHeapArray
   in one more place.
BHttpRequest: More elegant way to build cookieString