Add clock sync capability to syncbase server.
1) Adds a syncservice in clock package that deals with
   clock data response from peer
2) Clock sync logic to vsync package with makes
   rpc call to peer right before initiating getDeltas
3) Deamon to service to run clockservice and
   ntpservice in the background
4) Unit tests for syncservice

Change-Id: I6434fb940a2b8c0360d6b71c213b0b0d5220960f
diff --git a/services/syncbase/server/watchable/store_test.go b/services/syncbase/server/watchable/store_test.go
index d44cc08..53bbec1 100644
--- a/services/syncbase/server/watchable/store_test.go
+++ b/services/syncbase/server/watchable/store_test.go
@@ -65,7 +65,7 @@
 func runTest(t *testing.T, mp []string, f func(t *testing.T, st store.Store)) {
 	st, destroy := createStore()
 	defer destroy()
-	vClock := clock.NewVClockWithMockServices(clock.MockStorageAdapter(), nil, nil)
+	vClock := clock.NewVClockWithMockServices(st, nil, nil)
 	st, err := Wrap(st, vClock, &Options{ManagedPrefixes: mp})
 	if err != nil {
 		t.Fatal(err)
diff --git a/services/syncbase/server/watchable/transaction.go b/services/syncbase/server/watchable/transaction.go
index 3178cb7..b4556c3 100644
--- a/services/syncbase/server/watchable/transaction.go
+++ b/services/syncbase/server/watchable/transaction.go
@@ -140,7 +140,7 @@
 		return verror.New(verror.ErrInternal, nil, "seq maxed out")
 	}
 	// Write LogEntry records.
-	timestamp := tx.st.clock.Now(nil).UnixNano()
+	timestamp := tx.st.clock.Now().UnixNano()
 	seq := tx.st.seq
 	for i, op := range tx.ops {
 		key := logEntryKey(seq)
@@ -177,7 +177,7 @@
 // GetStoreTime returns the current time from the given transaction store.
 func GetStoreTime(ctx *context.T, tx store.Transaction) time.Time {
 	wtx := tx.(*transaction)
-	return wtx.st.clock.Now(ctx)
+	return wtx.st.clock.Now()
 }
 
 // AddSyncGroupOp injects a SyncGroup operation notification in the log entries
diff --git a/services/syncbase/server/watchable/transaction_test.go b/services/syncbase/server/watchable/transaction_test.go
index 681b3f7..518f7b3 100644
--- a/services/syncbase/server/watchable/transaction_test.go
+++ b/services/syncbase/server/watchable/transaction_test.go
@@ -71,9 +71,7 @@
 	t1 := time.Now()
 	inc := time.Duration(1) * time.Second
 	mockClock := newMockSystemClock(t1, inc)
-	var mockAdapter clock.StorageAdapter = clock.MockStorageAdapter()
-
-	vclock := clock.NewVClockWithMockServices(mockAdapter, mockClock, nil)
+	vclock := clock.NewVClockWithMockServices(ist, mockClock, nil)
 	wst1, err := Wrap(ist, vclock, &Options{ManagedPrefixes: nil})
 	if err != nil {
 		t.Fatalf("Wrap failed: %v", err)
@@ -143,9 +141,7 @@
 	t1 := time.Now()
 	inc := time.Duration(1) * time.Second
 	mockClock := newMockSystemClock(t1, inc)
-	var mockAdapter clock.StorageAdapter = clock.MockStorageAdapter()
-
-	vclock := clock.NewVClockWithMockServices(mockAdapter, mockClock, nil)
+	vclock := clock.NewVClockWithMockServices(ist, mockClock, nil)
 	wst, err := Wrap(ist, vclock, &Options{ManagedPrefixes: nil})
 	if err != nil {
 		t.Fatalf("Wrap failed: %v", err)
diff --git a/services/syncbase/server/watchable/util_test.go b/services/syncbase/server/watchable/util_test.go
index e0db4ac..b7b4412 100644
--- a/services/syncbase/server/watchable/util_test.go
+++ b/services/syncbase/server/watchable/util_test.go
@@ -14,8 +14,7 @@
 func TestGetNextLogSeq(t *testing.T) {
 	st, destroy := createStore()
 	defer destroy()
-	var mockAdapter clock.StorageAdapter = clock.MockStorageAdapter()
-	vclock := clock.NewVClockWithMockServices(mockAdapter, nil, nil)
+	vclock := clock.NewVClockWithMockServices(st, nil, nil)
 	st, err := Wrap(st, vclock, &Options{})
 	if err != nil {
 		t.Fatal(err)