Upgrade SegmentedClient to be fully asynchronous (no forced blocking for first packet)
diff --git a/src/test/java/com/intel/jndn/utils/SegmentedClientTest.java b/src/test/java/com/intel/jndn/utils/SegmentedClientTest.java
index df6d056..823223d 100644
--- a/src/test/java/com/intel/jndn/utils/SegmentedClientTest.java
+++ b/src/test/java/com/intel/jndn/utils/SegmentedClientTest.java
@@ -87,14 +87,8 @@
   public void testFailureToRetrieve() throws Exception {
     // retrieve non-existent data, should timeout
     logger.info("Client expressing interest asynchronously: /test/no-data");
-    List<Future<Data>> futureSegments = SegmentedClient.getDefault().getAsyncList(face, new Name("/test/no-data"));
-
-    // the list of future packets should be initialized
-    assertEquals(1, futureSegments.size());
-    assertTrue(futureSegments.get(0).isDone());
-
-    // should throw error
-    futureSegments.get(0).get();
+    Future<Data> futureData = SegmentedClient.getDefault().getAsync(face, new Name("/test/no-data"));
+    futureData.get();
   }
 
   /**
diff --git a/src/test/java/com/intel/jndn/utils/client/SegmentedFutureDataTest.java b/src/test/java/com/intel/jndn/utils/client/SegmentedFutureDataTest.java
index b97104d..e030083 100644
--- a/src/test/java/com/intel/jndn/utils/client/SegmentedFutureDataTest.java
+++ b/src/test/java/com/intel/jndn/utils/client/SegmentedFutureDataTest.java
@@ -36,15 +36,14 @@
 
   public SegmentedFutureDataTest() {
     Face face = new MockFace();
-    List<Future<Data>> segments = new ArrayList<>();
+    instance = new SegmentedFutureData(face, new Name("/test/packet"));
     for (int i = 0; i < 10; i++) {
       Data data = new Data(new Name("/test/packet").appendSegment(i));
       data.setContent(new Blob("."));
       FutureData future = new FutureData(face, data.getName());
       future.resolve(data);
-      segments.add(future);
+      instance.add(future);
     }
-    instance = new SegmentedFutureData(new Name("/test/packet"), segments);
   }
 
   @Test
@@ -75,9 +74,8 @@
     Data data = new Data(new Name("/test/packet").appendSegment(0));
     FutureData future = new FutureData(face, data.getName());
     
-    List<Future<Data>> segments = new ArrayList<>();
-    segments.add(future);
-    SegmentedFutureData segmentedFuture = new SegmentedFutureData(new Name("/test/packet"), segments);
+    SegmentedFutureData segmentedFuture = new SegmentedFutureData(face, new Name("/test/packet"));
+    segmentedFuture.add(future);
     
     segmentedFuture.get(10, TimeUnit.MILLISECONDS);
   }