Initial tests for SSDP and Zeroconf discovery providers

The test classes use the Xcode's `XCTest` framework, and can be run from the main project. Some of the private fields in the tested classes have been extracted into private headers to be able to mock them.