Ensure done() can only be called once in tests
Ensure done() can only be called once in tests

In the ArticlePresenter tests, there are signal handlers that call
done() to finish the test. It's possible that the signal is emitted more
than once, so the handlers disconnect themselves after being called once.

This is an attempt to fix an intermittent test failure that happens at
high system load.

[endlessm/eos-sdk#2591]

endlessm/eos-knowledge-lib,endlessm/eos-knowledge-lib,endlessm/eos-knowledge-lib,endlessm/eos-knowledge-lib