Initial commit. (#431)

- Fix lint warnings from the PR #425.
- Remove an unused struct added in the PR #425.
diff --git a/go/pkg/client/bytestream.go b/go/pkg/client/bytestream.go
index 75d7acb..7149707 100644
--- a/go/pkg/client/bytestream.go
+++ b/go/pkg/client/bytestream.go
@@ -34,7 +34,7 @@
 	ue := uploadinfo.EntryFromBlob(data)
 	ch, err := chunker.New(ue, false, int(c.ChunkMaxSize))
 	if err != nil {
-		return 0, err
+		return 0, errors.Wrap(err, "failed to create a chunk")
 	}
 	writtenBytes, err := c.writeChunked(ctx, name, ch, doNotFinalize, initialOffset)
 	if err != nil {
diff --git a/go/pkg/client/bytestream_test.go b/go/pkg/client/bytestream_test.go
index c4c3964..c18fdab 100644
--- a/go/pkg/client/bytestream_test.go
+++ b/go/pkg/client/bytestream_test.go
@@ -6,6 +6,7 @@
 	"net"
 	"testing"
 
+	"github.com/pkg/errors"
 	"google.golang.org/grpc"
 
 	bsgrpc "google.golang.org/genproto/googleapis/bytestream"
@@ -115,7 +116,7 @@
 	}
 }
 
-func WriteBytesAtRemoteOffsetErrors_LogStream(t *testing.T) {
+func TestWriteBytesAtRemoteOffsetErrors_LogStream(t *testing.T) {
 	tests := []struct {
 		description   string
 		ls            *logStream
@@ -197,7 +198,7 @@
 		t.Fatalf("Cannot listen: %v", err)
 	}
 	s.server = grpc.NewServer()
-	s.fake = &ByteStream{}
+	s.fake = &ByteStream{logStreams: make(map[string]*logStream)}
 	bsgrpc.RegisterByteStreamServer(s.server, s.fake)
 
 	go s.server.Serve(s.listener)
@@ -208,7 +209,6 @@
 	if err != nil {
 		t.Fatalf("Error connecting to server: %v", err)
 	}
-	s.fake.logStreams = make(map[string]*logStream)
 	return s
 }
 
@@ -231,7 +231,7 @@
 	defer stream.SendAndClose(&bspb.WriteResponse{})
 	req, err := stream.Recv()
 	if err != nil {
-		return err
+		return errors.Wrap(err, "failed to write")
 	}
 
 	ls, ok := b.logStreams[req.GetResourceName()]
diff --git a/go/pkg/client/client.go b/go/pkg/client/client.go
index 7a93e2e..0deea91 100644
--- a/go/pkg/client/client.go
+++ b/go/pkg/client/client.go
@@ -487,12 +487,6 @@
 	return rpcCreds, CredsFileAuth, nil
 }
 
-// ByteStreamWriteOpts sets options required for resumable ByteStream write operations.
-type ByteStreamWriteOpts struct {
-	FinishWrite       bool
-	LastLogicalOffset int64
-}
-
 // DialParams contains all the parameters that Dial needs.
 type DialParams struct {
 	// Service contains the address of remote execution service.