Initial PubSub implementation

Includes initial AnnouncementService, NdnSubscriber, and NdnPublisher implementations; TODO still a WIP
diff --git a/src/main/java/com/intel/jndn/utils/Subscriber.java b/src/main/java/com/intel/jndn/utils/Subscriber.java
new file mode 100644
index 0000000..4949826
--- /dev/null
+++ b/src/main/java/com/intel/jndn/utils/Subscriber.java
@@ -0,0 +1,26 @@
+/*

+ * jndn-utils

+ * Copyright (c) 2016, Intel Corporation.

+ *

+ * This program is free software; you can redistribute it and/or modify it

+ * under the terms and conditions of the GNU Lesser General Public License,

+ * version 3, as published by the Free Software Foundation.

+ *

+ * This program is distributed in the hope it will be useful, but WITHOUT ANY

+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS

+ * FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for

+ * more details.

+ */

+

+package com.intel.jndn.utils;

+

+import com.intel.jndn.utils.pubsub.Cancellation;

+import com.intel.jndn.utils.pubsub.On;

+import net.named_data.jndn.util.Blob;

+

+/**

+ * @author Andrew Brown, andrew.brown@intel.com

+ */

+public interface Subscriber {

+  Cancellation subscribe(On<Blob> onMessage, On<Exception> onError);

+}