Fixes #2949 Add retry handling to gocb bucket Set() method (#2950)
Fixes #2949 Add retry handling to gocb bucket Set() method (#2950)

* Fixes #2949 Add retry handling to gocb bucket Set() method

* Fix compile error

* Fix type assertion error

* Fix type assertion error

Was seeing panic: interface conversion: interface is nil, not gocb.Cas [recovered]
	panic: interface conversion: interface is nil, not gocb.Cas

goroutine 89 [running]:
panic(0x4a1f40, 0xc4204700c0)
	/usr/local/go/src/runtime/panic.go:500 +0x1a1
testing.tRunner.func1(0xc4202100c0)
	/usr/local/go/src/testing/testing.go:579 +0x25d
panic(0x4a1f40, 0xc4204700c0)
	/usr/local/go/src/runtime/panic.go:458 +0x243
github.com/couchbase/sync_gateway/base.CouchbaseBucketGoCB.Remove(0xc42032a7e0, 0xc42001425d, 0x15, 0x0, 0x0, 0x52c33c, 0x10, 0x0, 0x0, 0x780800, ...)
	/Users/tleyden/Development/sync_gateway/godeps/src/github.com/couchbase/sync_gateway/base/bucket_gocb.go:932 +0x265

couchbaselabs/sync_gateway,ceejatec/sync_gateway,ceejatec/sync_gateway,ceejatec/sync_gateway,ceejatec/sync_gateway,couchbaselabs/sync_gateway,couchbaselabs/sync_gateway,couchbaselabs/sync_gateway