Failing unit test to expose available space bugs in GCDAsyncSocketPreBuffer.
Fix GCDAsyncSocketPreBuffer availableSpace bugs that lead to access violation.

It's easy to see the bug by putting the read pointer slightly behind the
write pointer both near the end of the buffer.