face: UnixStream{Face,Channel,ChannelFactory} implementation.

refs: #1174

Change-Id: I14d1e357c96a02995355e7970323fe40847580aa
stream-face: invoke shutdown() before closing the socket.

As recommended by boost::asio documentation.
Also refactor the shutdown logic into its own method.

Change-Id: I033de350a9cb659439034f7b5bb36031cda87a25