face: give ProtocolFactory access to NetworkMonitor

Subclasses of ProtocolFactory can access NetworkMonitor and
addFace callback anytime via member fields. They are supplied
to ProtocolFactory::create from FaceSystem.

This is in preparation for letting ProtocolFactory subclasses
react to fine-grained signals from NetworkMonitor.

refs #4021

Change-Id: I8da116bffc83d1bdeed7fd3b2e12c8872f19177b
diff --git a/daemon/face/udp-factory.cpp b/daemon/face/udp-factory.cpp
index 5b68061..cc02bfc 100644
--- a/daemon/face/udp-factory.cpp
+++ b/daemon/face/udp-factory.cpp
@@ -1,5 +1,5 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/**
+/*
  * Copyright (c) 2014-2017,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
@@ -151,7 +151,7 @@
       udp::Endpoint endpoint(ip::udp::v4(), port);
       shared_ptr<UdpChannel> v4Channel = this->createChannel(endpoint, time::seconds(idleTimeout));
       if (!v4Channel->isListening()) {
-        v4Channel->listen(context.addFace, nullptr);
+        v4Channel->listen(this->addFace, nullptr);
       }
       providedSchemes.insert("udp");
       providedSchemes.insert("udp4");
@@ -164,7 +164,7 @@
       udp::Endpoint endpoint(ip::udp::v6(), port);
       shared_ptr<UdpChannel> v6Channel = this->createChannel(endpoint, time::seconds(idleTimeout));
       if (!v6Channel->isListening()) {
-        v6Channel->listen(context.addFace, nullptr);
+        v6Channel->listen(this->addFace, nullptr);
       }
       providedSchemes.insert("udp");
       providedSchemes.insert("udp6");
@@ -485,7 +485,7 @@
                                                         needIfname ? netif.name : "");
       if (face->getId() == INVALID_FACEID) {
         // new face: register with forwarding
-        context.addFace(face);
+        this->addFace(face);
       }
       else {
         // existing face: don't destroy