Extending IDisposable Implementation

Several classes within quickfixn maintain open handles to files once
they are instantiated and initialized. These handles prevent other code
from accessing the same files until those instances are properly
disposed.

In our case, we attempted to Stop() the initiator which was using file
logs and stores. If we then attempted to instantiate and initialize a
new instance in the same process, it would throw an exception attempting
to open those same files for writing.

Now, we can call dispose on the properly disconnected set of connections
(is this the right set?) which disposes of all logs and stores and any
file handles they may or may not have open.

I believe this should likely be included in the normal "Stop"
functionality.