Initial implementation of IntService and sample application

This implementation has been used for P4Workshop demo (ONOS INT Support).

Change-Id: I2ff94f8a79f6d5a328b94f7ed178e575b81c3fe9
diff --git a/apps/inbandtelemetry/app/src/main/resources/app/view/intApp/intApp.html b/apps/inbandtelemetry/app/src/main/resources/app/view/intApp/intApp.html
new file mode 100644
index 0000000..42717e0
--- /dev/null
+++ b/apps/inbandtelemetry/app/src/main/resources/app/view/intApp/intApp.html
@@ -0,0 +1,110 @@
+<!-- partial HTML -->
+<div id="ov-int-app-main">
+    <div class="config-panel">
+        <div>
+            Collector IP
+            <input type="text" required pattern="^([0-9]{1,3}\.){3}[0-9]{1,3}$" ng-model="collectorIp">
+
+            Collector Port
+            <input type="text" required pattern="^[0-9]{0,5}$" ng-model="collectorPort">
+        </div>
+    </div>
+    <div class="config-button-panel">
+        <div class = "int-app-config-button" ng-click="sendIntConfigString()">
+            Deploy
+        </div>
+    </div>
+    <hr>
+    <div class="input-panel">
+        <div>
+            Src Address
+            <input type="text" required pattern="^([0-9]{1,3}\.){3}[0-9]{1,3}(/[0-9]{1,2})?$" ng-model="ip4SrcPrefix">
+
+            Dst Address
+            <input type="text" required pattern="^([0-9]{1,3}\.){3}[0-9]{1,3}(/[0-9]{1,2})?$" ng-model="ip4DstPrefix">
+
+            Src Port
+            <input type="text" required pattern="^[0-9]{0,5}$" ng-model="l4SrcPort">
+
+            Dst Port
+            <input type="text" required pattern="^[0-9]{0,5}$" ng-model="l4DstPort">
+
+            Protocol
+            <select name="protocol" ng-model="protocol">
+                <option selected disabled hidden style="display: none" value=''></option>
+                <option value="TCP">TCP</option>
+                <option value="UDP">UDP</option>
+            </select>
+        </div>
+        <div>
+            <input type="checkbox" ng-model= "metaSwId">Switch Id
+            <input type="checkbox" ng-model= "metaPortId">Port Id
+            <input type="checkbox" ng-model= "metaHopLatency">Hop Latency
+            <input type="checkbox" ng-model= "metaQOccupancy">Queue Occupancy
+            <input type="checkbox" ng-model= "metaIngressTstamp">Ingress Timestamp
+            <input type="checkbox" ng-model= "metaEgressTstamp">Egress Timestamp
+            <!--<input type="checkbox" ng-model= "metaQCongestion">Queue Congestion Status-->
+            <input type="checkbox" ng-model= "metaEgressTx">Egress Port Tx Utilization
+        </div>
+    </div>
+
+    <div class="button-panel">
+        <div class = "int-app-button" ng-click="sendIntIntentString()">
+            Deploy
+        </div>
+    </div>
+    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+    <div class='int-app-main-intents'>
+        <div class="tabular-header">
+            <h2>Installed INT Intents ({{tableData.length}} total)</h2>
+            <div class="ctrl-btns">
+                <div class="refresh" ng-class="{active: autoRefresh}"
+                     icon icon-id="refresh" icon-size="36"
+                     tooltip tt-msg="autoRefreshTip"
+                     ng-click="toggleRefresh()">
+                </div>
+
+                <!-- tooltip tt-msg="uninstallTip" -->
+                <div icon icon-size="42" icon-id="garbage"
+                     ng-click="delIntIntent()"
+                     ng-class="{active: ctrlBtnState.selection}">
+                </div>
+            </div>
+        </div>
+
+        <div class="summary-list" onos-table-resize>
+
+            <div class="table-header" onos-sortable-header>
+                <table>
+                    <tr>
+                        <td colId="id" sortable>ID </td>
+                        <td colId="srcAddr" sortable>Src Address </td>
+                        <td colId="dstAddr" sortable>Dst Address </td>
+                        <td colId="srcPort" sortable>Src Port </td>
+                        <td colId="dstPort" sortable>Dst Port </td>
+                        <td colId="protocol" sortable>Protocol </td>
+                        <td colId="metadata" sortable>Metadata </td>
+                    </tr>
+                </table>
+            </div>
+
+            <div class="table-body">
+                <table>
+                    <tr ng-repeat="item in tableData track by $index"
+                        ng-click="selectCallback($event, item)"
+                        ng-class="{selected: item.id === selId}">
+                        <td>{{item.id}}</td>
+                        <td>{{item.srcAddr}}</td>
+                        <td>{{item.dstAddr}}</td>
+                        <td>{{item.srcPort}}</td>
+                        <td>{{item.dstPort}}</td>
+                        <td>{{item.protocol}}</td>
+                        <td>{{item.metadata}}</td>
+                    </tr>
+                </table>
+            </div>
+
+        </div>
+    </div>
+</div>
+<!-- +++++++++++++++++++++ -->