If the process died too quickly and didn't provide any output then some attribute errors were triggered when self.proto was cleaned up sooner than expected. This stashes and returns the protocol's deferred object safely as well as catching the subprocess' failure in a cleaner way.
Nagcat-Merlin Integration Nagcat will now read from a database that merlin populates with information about peers, assign itself a peer_id, and assign each task a task number. It then decides to run the test or not based on those two numbers. Main has also been changed to accept flags for the merlin database information.
…d if no db.
tests no longer have self._should_run as a bool, it is simply a function that returns true or false. This was done because self._set_should_run has to always be called before reading self._should_run, as self._should_run can constantly change.
changed any_merlin_settings and all_merlin_settings to use any and all functions.