core: Generic resolver implementation with option to select address filter

Change-Id: I467ed9f49a55392e89417aa9925f30b2d7cbeda9
face: Convert to use the global IO service by all ChannelFactories

Change-Id: Ibd8d5cea142171b5700d8920eb3eedc084bbd588
face: Rename all ChannelFactories to protocol Factories

Base class is ProtocolFactory and implementations are TcpFactory,
UnixStreamFactory, EthernetFactory.

Since Factories are doing more than just creating channels (some can
create faces directly), more general name is more appropriate.

Change-Id: I3d6c2460a1b29e244f8462453720f4e7785893ca