Zeroconf support for headless server

Allow flask server to broadcast over public ip. Use Zeroconf protocol to publish the service (using avahi), allowing any client with Zeroconf to search and connect to any Freeseer client on their network.
Maybe call this `.advertise()` or something else. `add_service` only makes sense in the context of zeroconf.