fastboot: fix SocketMock send failures.

Fixes SocketMock::ExpectSendFailure() to allow unit testing of errors
during send, and adds tests for ExpectSendFailure() and
AddReceiveFailure().

Also adds missing tests to make sure ReceiveAll() continues to read
until failure or all bytes have been read.

Bug: http://b/26157893
Change-Id: I67e7d6de8e8ec4a3b62a6b7d7217f7530862edf7
diff --git a/fastboot/socket_mock.h b/fastboot/socket_mock.h
index c48aa7b..41fe06d 100644
--- a/fastboot/socket_mock.h
+++ b/fastboot/socket_mock.h
@@ -65,6 +65,9 @@
     // Adds an expectation for Send().
     void ExpectSend(std::string message);
 
+    // Adds an expectation for Send() that returns false.
+    void ExpectSendFailure(std::string message);
+
     // Adds data to provide for Receive().
     void AddReceive(std::string message);