face: Fixing a small bug with Face::shutdown

Face::shutdown did not properly shutdown the Face (io_service) when
"always block" mode was used (Face::processEvents(..., true);)

Change-Id: I6bedcf2b45be1506e6b4a94759d1b5168e107252
diff --git a/src/face.cpp b/src/face.cpp
index 22728d1..9f52acd 100644
--- a/src/face.cpp
+++ b/src/face.cpp
@@ -338,10 +338,12 @@
   catch (Face::ProcessEventsTimeout&)
     {
       // break
+      m_impl->m_ioServiceWork.reset();
       m_ioService->reset();
     }
   catch (std::exception&)
     {
+      m_impl->m_ioServiceWork.reset();
       m_ioService->reset();
       m_impl->m_pendingInterestTable.clear();
       m_impl->m_registeredPrefixTable.clear();
@@ -367,6 +369,8 @@
   m_impl->m_pitTimeoutCheckTimer->cancel();
   m_impl->m_processEventsTimeoutTimer->cancel();
   m_impl->m_pitTimeoutCheckTimerActive = false;
+
+  m_impl->m_ioServiceWork.reset();
 }
 
 void