adds ability to free a service from the server side

Previously s.free() only worked when called from the client service, this adds the ability for a seaport server to free a service itself. This is useful because a seaport server can now detect when a service becomes unresponsive or hasn't been properly freed and can choose to free it itself.